0

0

Linux基础知识系列之二

步履不停

步履不停

发布时间:2019-06-19 15:53:26

|

3465人浏览过

|

来源于php中文网

原创

Linux基础知识系列之二

常用命令

alias(别名)

Linux基础知识系列之一中提到ls -l=ll,这个就是Linux中的别名,使用alias可以查看系统默认的别名。

[root@hadoop001 ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

使用alias 别名=命令字符串就可以在当前session会话中生效,如果你想要一直生效,请在环境变量文件末中增添上述命令,有关环境变量的请看下一节。

[root@hadoop001 ~]# alias ul='cd /usr/local' [root@hadoop001 ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias ul='cd /usr/local'   <-- 新增的 alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' [root@hadoop001 ~]# ul [root@hadoop001 local]# pwd /usr/local

环境变量

  1. 全局环境变量 Linux中/etc/profile就是全局变量,无论你用哪个用户登录都可以使用该文件里的所有变量。承接上一节如何在全局环境变量中设置alias,在文件末尾增添以下代码。

#env alias ul='cd /usr/local'

当然光增添代码是不够的,一定要使全局变量生效,使用以下命令均可

. /etc/profile 或者 source /etc/profile
  1. 个人环境变量 只针对个人用户,存放的路径就在 ~/.bash_profile 中,打开该文件你会发现它其实还涉及到另一个文件 ~/.bashrc 。所以如果你要设置alias,也是在两个文件末尾添加上述代码。

# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then         . ~/.bashrc fi # User specific environment and startup programs #env alias rc='cd /root/xxx'

使其生效也是上述两种。

. ~/.bash_profile    . ~/.bashrc 或者 source ~/.bash_profile    source ~/.bashrc

rm(删除)

一般都是使用 rm -rf 文件名,这种方式会强制删除文件或者文件夹,-f表示强制,-r表示可以文件夹。经常听到就是 rm -rf /*,也就是删库跑路。当然一般人都不会这样直接运行,但是可能会在shell脚本出现这种错,以下场景就导致这种情况。

shell脚本可能会这样 xxxpath=xxx/xx ...(逻辑部分) rm -rf $xxxpath/*    这里就是个坑 如果一空值赋予给了xxxpath,那么不就成了rm -rf /* 所以在生产上凡是碰见rm -rf强制删除文件夹的,路径一定先判断存在不,不存在 就skip;就存在就rm

history(命令记录)

history -c 就是清除命令记录,当然个人用户登陆时,~/.bash_history也会记录命令,所以要清除的话,记得也把它给删掉。

用户/用户组命令集合

  1. useradd 用户名==>添加用户,它的家目录就在/home/用户名

  2. id 用户名==>显示用户和用户组信息

[root@hadoop001 ~]# id dengdi uid=1001(dengdi) gid=1001(dengdi) groups=1001(dengdi) 用户ID             主组ID           所有组
  1. cat /etc/passwd==>显示所有用户的信息

dengdi(用户名):x:1001(用户id):1001(主组id)::/home/dengdi(家目录):/bin/bash(执行解释器)   如果/bin/bash变成/bin/false或者/sbin/nologin,这个用户就不能登陆了
  1. userdel 用户名==>删除用户 删除用户,会把/etc/passwd记录删除; 同时假如该组没有其他用户,则删除该组 但是 家目录还在,但是用户和用户组 发生变革

[root@hadoop001 ~]# ll /home/ total 0 drwx------. 3 centos centos 70 Jun 28  2017 centos drwx------  2   1001   1001 59 Jun 17 23:48 dengdi
  1. 执行userdel然后再useradd

[root@hadoop001 ~]# userdel dengdi [root@hadoop001 ~]# useradd dengdi useradd: warning: the home directory already exists. Not copying any file from skel directory into it. Creating mailbox file: File exists

来看看系统提示的skel directory是什么,我们ll -a /home/dengdi

[root@hadoop001 ~]# ll -a /home/dengdi/ total 12 drwx------  2 dengdi dengdi  59 Jun 17 23:48 . drwxr-xr-x. 4 root   root    32 Jun 17 23:48 .. -rw-r--r--  1 dengdi dengdi  18 Apr 11  2018 .bash_logout -rw-r--r--  1 dengdi dengdi 193 Apr 11  2018 .bash_profile -rw-r--r--  1 dengdi dengdi 231 Apr 11  2018 .bashrc

skel directory就是.bash*所有的隐藏文件,尝试将这些删除然后切换dengdi用户

[root@hadoop001 ~]# ll -a /home/dengdi/ total 16 drwx------  2 dengdi dengdi  79 Jun 18 00:06 . drwxr-xr-x. 4 root   root    32 Jun 17 23:48 .. -rw-------  1 dengdi dengdi   5 Jun 18 00:06 .bash_history -rw-r--r--  1 dengdi dengdi  18 Apr 11  2018 .bash_logout -rw-r--r--  1 dengdi dengdi 193 Apr 11  2018 .bash_profile -rw-r--r--  1 dengdi dengdi 231 Apr 11  2018 .bashrc [root@hadoop001 ~]# rm -rf /home/dengdi/.* rm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘/home/dengdi/.’ rm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘/home/dengdi/..’ [root@hadoop001 ~]# ll -a /home/dengdi/ total 0 drwx------  2 dengdi dengdi  6 Jun 18 00:08 . drwxr-xr-x. 4 root   root   32 Jun 17 23:48 .. [root@hadoop001 ~]# su - dengdi Last login: Tue Jun 18 00:07:26 CST 2019 on pts/0 -bash-4.2$

所以skel directory是决定你的[root@hadoop001 ~]还是-bash-4.2$ 6. groupadd 用户组==>新增用户组 usermod -a -G 用户组 dengdi==>添加用户组新成员为dengdi usermod -g 用户组 dengdi==>修改xxx为主组

[root@hadoop001 ~]# groupadd bigdata [root@hadoop001 ~]# id ruoze uid=501(ruoze) gid=501(ruoze) groups=501(ruoze) [root@hadoop001 ~]# usermod -a -G bigdata ruoze [root@hadoop001 ~]# id ruoze uid=501(ruoze) gid=501(ruoze) groups=501(ruoze),502(bigdata) [root@hadoop001 ~]# usermod -g bigdata ruoze [root@hadoop001 ~]# id ruoze uid=501(ruoze) gid=502(bigdata) groups=502(bigdata) 这里重新指定主组之后,会丢失原来的主组
  1. 重新指定用户家目录

usermod -d 路径 用户 或者 vi /etc/passwd
  1. 切换用户

su ruoze   切换用户 当前路径不会变,就是切换之前的路径 su - ruoze 切换用户 且切到该用户的家目录,且执行环境变量文件生效
  1. passwd 用户==>设置密码或者重置密码

更多Linux文章,请访问Linux教程栏目进行学习!

相关专题

更多
session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

307

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

733

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

88

2025.08.19

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

75

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

96

2025.09.18

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

254

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

206

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1463

2023.10.24

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号