简介:本文是笔者在学校学习linux的过程中学到的经常使用的常见linux命令,学到什么记下什么,没有任何组织逻辑,仅仅便于自己回忆使用
创建新用户
sudo adduser lilei
查看用户组
groups lilei
查看 /etc/group 文件
cat /etc/group | sort
使用 grep 命令过滤掉一些你不想看到的结果:
cat /etc/group | grep -E "shiyanlou"
把lilei加入sudo用户组,lilei将获得sudo权限
sudo usermod -G sudo lilei
删除用户
sudo deluser lilei --remove-home
修改文件iphone11的所有者为shiyanlou
sudo chown shiyanlou iphone11
向文件插入内容
echo "echo \"hello shiyanlou\"" > iphone11
修改文件的权限
chmod 600 iphone11
加减赋值操作
要完成上述实验相同的效果,你可以:
chmod go-rw iphone11
g、o 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限。
linux目录树
mkdir -p可以创建多级目录
mkdir -p father/son/grandson
复制文件
cp test father/son/grandson
要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制
cd /home/shiyanlou
mkdir family
cp -r father family
将文件“ file1 ”移动到 Documents 目录:
mkdir Documents
touch file1
mv file1 Documents
将文件“ file1 ”重命名为“ myfile ”:
mv file1 myfile
和环境变量相关的三个命令
| 命 令 | 说 明 |
|---|---|
| set | 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。 |
| env | 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。 |
| export | 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。 |
变量修改****
变量的修改有以下几种方式:
| 变量设置方式 | 说明 |
|---|---|
| ${变量名#匹配字串} | 从头向后开始匹配,删除符合匹配字串的最短数据 |
| ${变量名##匹配字串} | 从头向后开始匹配,删除符合匹配字串的最长数据 |
| ${变量名%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最短数据 |
| ${变量名%%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最长数据 |
| ${变量名/旧的字串/新的字串} | 将符合旧字串的第一个字串替换为新的字串 |
| ${变量名//旧的字串/新的字串} | 将符合旧字串的全部字串替换为新的字串 |
使用 zip 打包文件夹,注意输入完整的参数和路径:
cd /home/shiyanlou
zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop
du -h shiyanlou.zip
file shiyanlou.zip
上面命令将目录 /home/shiyanlou/Desktop 打包成一个文件,并查看了打包后文件的大小和类型。第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。 后面使用 du 命令查看打包后文件的大小(后面会具体说明该命令)。
- 设置压缩级别为 9 和 1(9 最大,1 最小),重新打包:
zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou/Desktop -x ~/*.zip
zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou/Desktop -x ~/*.zip
这里添加了一个参数用于设置压缩级别 -[1-9],1 表示最快压缩但体积大,9 表示体积最小但耗时最久。最后那个 -x 是为了排除我们上一次创建的 zip 文件,否则又会被打包进这一次的压缩文件中, 注意:这里只能使用绝对路径,否则不起作用。