linux常用命令

105 阅读3分钟

简介:本文是笔者在学校学习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目录树

image.png

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 文件,否则又会被打包进这一次的压缩文件中, 注意:这里只能使用绝对路径,否则不起作用