Linux常用命令(一)
目录
一、用户管理
(一)、用户
1、切换用户
su <user> :切换到用户 user,执行时需要输入目标用户的密码
su - <user> :命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的。
2、新建用户
sudo adduser <lilei>:新建用户lilei(需要root权限)(sudo <cmd>:可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码)。
3、退出当前用户
使用 exit 命令或者使用快捷键 Ctrl+D。
(二)、用户组
1、查看用户属于哪些用户组
法一:groups <user>
法二:cat /etc/group | sort
/etc/group 文件格式说明:
/etc/group 的内容包括用户组(Group)、用户组口令(密码)、GID(组 ID) 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
password 字段为一个 x,并不是说密码就是它,只是表示密码不可见而已。
2、将其它用户加入 sudo 用户组
sudo usermod -G sudo <user>(将user用户添加到sudo用户组)
3、删除用户和用户组
sudo deluser <user> --remove-home (使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除。如果不使用那么系统会自动在 /home 目录为该用户保留工作目录。)
删除用户组可以使用groupdel 命令,倘若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组。
二、文件操作
(一)、文件与目录
1、创建文件
touch <filename>
新建love_1到love_10共10个文件
touch love_{1…10}.txt
Shell 常用通配符:
字符 | 含义 |
---|---|
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[^list] | 匹配 除 list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9][a-z] |
{string1,string2,…} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1…c2} | 匹配 c1-c2 中全部字符 如{1…10} |
2、创建目录
mkdir <directories>
-p 参数,同时创建父目录(如果不存在该父目录)如:
mkdir -p father/son/grandson
3、复制
cp <文件名> <目录地址>;
-r,-R:递归复制。如:
// 将test 文件复制到 father/son/grandson 目录中
cp test father/son/grandson
//将father目录复制到family中
cp -r father family
4、删除
rm <filename>;
-f:强制删除;-r/-R:同时删除目录
强制删除family目录及文件
rm -rf family
5、移动
mv [源目录文件] [目的目录]:移动文件
注:mv命令除了能移动文件外,还能给文件重命名。命令格式为mv 旧的文件名 新的文件名
6、重命名
法一:见mv注。
法二:rename
它要用 perl 正则表达式来作为参数
注:rename 命令并不是内置命令,若提示无该命令可以使用 sudo apt-get install rename 命令自行安装。
7、cat和 nl 命令查看文件
- cat -n <filename>:查看文件并显示行号
- nl 命令:,添加行号并打印,这是个比 cat -n 更专业的行号打印命令。
-b : 指定添加行号的方式,主要有两种:
-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
-b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)
- more和less:分页查看文件内容
- head 和 tail:查看头或尾(默认10行)信息
tail -n 行数 filename 查看文件尾指定行数
tail -f filename 把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新(常用来查阅正在改变的日志文件)
(二)、文件权限
1、列出文件
ls 列出并显示当前目录下的文件
参数说明:
- -a:列出所有,包括隐藏文件(以.开始的项目)
- -l:以较长格式列出信息。
- -s,-S: -s为显示文件大小,大S为按文件大小排序
示例如图
2、变更文件权限
- 变更文件所有者:
chown <user> <filename> - 修改文件权限:
- 法一:二进制数字表示
每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,这个顺序是固定的。文件的读写执行对应字母 rwx,以二进制表示就是 111,用十进制表示就是 7。如我们某文件的权限是 rw-rw-rw-,换成对应的十进制表示就是 666,这就表示这个文件的拥有者,所属用户组和其他用户具有读写权限,不具有执行权限。使用chmod <权限对应二进制> <filename> 可以修改文件权限。//修改iPhone11文件的权限为仅所有者可读写
chmod 600 iphone11 - 法二:加减赋值操作
chmod go[+\-]rw <filename>:g、o 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限。
- 法一:二进制数字表示