分享

Linux 日常操作(质量团队培训)

 老三的休闲书屋 2020-08-28

背景

质量团队 Linux 日常操作培训,提升团队整体 Linux 水平。


注: 以下所有命令都是在 Centos 操作系统来进行演示。

帮助命令及工具

详见: Linux 帮助命令及工具

用户和用户组

Linux 日常操作(质量团队培训)

用户和组常用命令

# 创建组$ groupadd daodaotest2# 修改组名$ groupmod -n daodaotest daodaotest2# 创建用户$ useradd daodaotest# 指定参数创建用户,-u uid;-g 用户组名;-G 附加组;-d 主目录;-c 用户描述;-s shell $ useradd -u 550 -g daodaotest -G root -d /home/daodaotest -c 'test user' -s /bin/bash daodaotest# 修改用户信息$ usermod -c 'update test user' daodaotest # 查看用户和组信息$ id daodaotestuid=550(daodaotest) gid=1009(daodaotest) 组=1009(daodaotest),0(root)# 设置用户密码$ passwd daodaotest# 查看用户密码$ passwd -S daodaotest或$ chage -l daodaotest# 仅切换用户$ su daodaotest# 切换用户,并同时切换环境变量$ su - daodaotest# 以 root 身份安装软件$ sudo yum install jq -y# 查看当前有效用户$ whoami# 查看当前实际用户$ who am i# 退出$ exit# 删除用户,强制删除并删除与用户的相关文件(home、邮件等)$ userdel -rf daodaotest# 删除组$ groupdel daodaotest

用户和组相关文件

# Linux 用户文件:$ cat /etc/passwd# 用户名:口令:用户标识号:组标识号:注释性描述:主目录:默认 Shellpe:x:1001:1001::/home/pe:/bin/bash# Linux 用户影子文件$ cat /etc/shadow# 用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段pe:$6$rounds=656000$qX8tIa/2E34tao1V$6xKEJc9pGhY/lqLFKPuzqt0Kd8nROPy3RdGS4a7HyCN.upgPfYZ.eF453P6.Y4u0GifVui8KdMPW4NdjhW1cn0:18239:0:99999:7:::# Linux 用户组文件$ cat /etc/group# 组名:口令:组标识号:组用户列表pe:x:1001:peftp,ruiftp,hx# Linux 组影子文件$ cat /etc/gshadow# 组名:加密密码:组管理员:组附加用户列表pe:!::peftp,ruiftp,hx

文件和目录

文件类型

Linux 日常操作(质量团队培训)

命令列表

Linux 日常操作(质量团队培训)

文件和目录常用命令

# 长数据格式列出所有目录,并按时间排序$ ls -lat# 长数据格式列出所有目录,并按时间反序排序$ ls -lart# 长数据格式列出所有目录,并按大小反序排序$ ls -larS# 进入 home 目录$ cd ~或$ cd # 进入上一次工作目录$ cd -# 进入上层目录$ cd ..# 显示当前目录 $ pwd# 查看软链接的实际路径$ pwd -P# 递归创建目录$ mkdir -p daodaotest/test# 递归删除目录$ rmdir -p daodaotest/test# 创建文本$ touch 1.txt# 查看文件类型$ file 1.txt# 复制文件$ cp 1.txt 2.txt# 查看文件 md5$ md5sum 1.txt 2.txt# 比较文本$ diff 1.txt 2.txt# 递归复制目录$ cp -r daodaotest daodaotest2# 修改文件名称$ mv daodaotest2 daodaotest22# 移动文件或目录$ mv 2.txt daodaotest22# 删除文件$ rm 2.txt# 强制递归删除 $ rm -rf daodaotest# 显示树状目录和文件$ tree .# 仅显示树状目录$ tree -d .# 显示指定层级目录和问题$ tree -L 2 .# 查看文本内容$ cat /etc/passwd$ more /etc/passwd$ less /etc/passwd$ nl /etc/passwd# 与 cat 相反,从最后一行开始查看文本内容$ tac /etc/passwd # 统计行数$ ls -l | wc -l$ cat /etc/passwd | wc -l# 查看前几行$ head -5 /etc/passwd# 动态查看文本内容$ tail -f /var/log/messages

显示部分行内容

详见:Linux 打印文本部分行(前几行,后几行,奇偶行,匹配行等)

查找

Linux 日常操作(质量团队培训)

查找常用命令

# 操作 grep 命令$ which grepalias grep='grep --color=auto'    /usr/bin/grep$ whereis grepgrep: /usr/bin/grep /usr/share/man/man1/grep.1.gz /usr/share/man/man1p/grep.1p.gz$ locate /bin/grep/usr/bin/grep# 查找所有 .sh 结尾的文件$ find . -name '*.sh'# 查找当前路径下的所有目录$ find . -type d# 查找当前路径下的所有文件$ find . -type f# 查找当前路径下的所有文件,并列出来$ find . -type f -exec ls -l {} \# 查找7天前的以 .log 结果的文件,确认之后删除$ find . -name '*.log' -mtime +7 -ok rm {} \;# 查找关键字$ grep root /etc/passwd# 正则表达式查找$ grep '/.*sh' /etc/passwd# 递归(-r) 查找目录下的所有文件$ grep -r LANG /etc# 递归(-r) 查找目录下的所有文件,排除指定目录和文件$  grep -r --exclude-dir={yum,ssh,profile.d,rc.d,ansible} --exclude=*.conf LANG /etc# 查找关键字,并打印前(-B),后(-A),前后(-C)各多少行$ grep root -C 1 /etc/passwd# 不区分大小写(-i)查找关键字,并打印行号(-n)$ grep -i ROOT -n /etc/passwd# 反向选择,输出没有匹配的行$ grep -v root /etc/passwd

权限

权限码

Linux 日常操作(质量团队培训)

常见权限表

Linux 日常操作(质量团队培训)

命令列表

Linux 日常操作(质量团队培训)

umask

详见:linux知识点系列之 umask

权限常用命令

# 修改文件权限$ chmod 755 test.txt$ chmod +rw test.txt# 修改文件权限,递归(-R)修改$ chmod -R 755 /tmp/daodaotest# 修改文件属主用户和属组$ chown jlh.jlh test.txt# 修改文件属组用户$ chgrp jlh test.txt

进程

Linux 日常操作(质量团队培训)
# 显示当前进程情况,输入 h 查看帮助$ top# 查看 java 进程$ ps -ef | grep java# 强制 kill 掉进程$ kill -9  <pid># kill 所有进程$ killall -9 php-fpm

Linux 查询应用进程号、端口、文件(知道其中之一查询其他)

详见: Linux 查询应用进程号、端口、文件(知道其中之一查询其他)

压缩解压

Linux 常见的压缩包格式:tar、gz、tar.gz、bz2、tar.bz2、zip

压缩率一般来说:

tar.bz2 > tar.gz > zip > tar
Linux 日常操作(质量团队培训)

tar

tar 是最常用的解压缩命令。

参数说明:

-c 建立新的压缩文件-r 添加文件到已经压缩的文件-u 添加改变了和现有的文件到已经存在的压缩文件-x 从压缩的文件中提取文件-t 显示压缩文件的内容-z 支持gzip解压文件-j 支持bzip2解压文件-v 显示操作过程-k 保留源文件不覆盖-C 切换到指定目录-f 指定压缩文件--delete            删除包中文件--strip-components  去除目录--add-file          向包中添加文件
# 归档 tar 包,不压缩$ tar -cvf test.tar test1.log test2.log$ tar -# 仅查看包中文件,不解压$ tar -tvf test.tar# 归档并压缩为 tar.gz、tar.bz2$ tar -zcvf test.tar.gz test1.log test2.log$ tar -jcvf test.tar.bz2 test1.log test2.log# 解压$ tar -xvf test.tar$ tar -zxvf test.tar.gz$ tar -jxvf test.tar.bz2# 解压到指定目录$ tar -xvf test.tar -C dir

zip & unzip

参数说明:

# zip-d 从压缩文件内删除指定的文件。-f 此参数的效果和指定'-u'参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。-j 只保存文件名称及其内容,而不存放任何目录名称。-r 递归处理,将指定目录下的所有文件和子目录一并处理。-u 更换较新的文件到压缩文件内。-v 显示指令执行过程或显示版本信息。-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。- <压缩效率> 压缩效率是一个介于1-9的数值。# unzip-l 显示压缩文件内所包含的文件-j 只保存文件名称及其内容,而不存放任何目录名称。-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该-v 显示指令执行过程或显示版本信息。-d 指定解压目录,目录不存在会创建
# 打包 test 目录下的文件$ zip -r test.zip test/ # 打包 test 目录下文件,且压缩包不带 test 目录$ zip -rj test.zip test/# 指定压缩比率,数值(1-9)越大,压缩率越高,耗时越长$ zip -r8 test.zip test/* # 解压 zip 包$ unzip test.zip -d dir# 查看压缩包中的文件$ unzip -l test.zip # 查看更多信息,例如crc校验信息等$ unzip -v test.zip # 解压jar包$ unzip -o java.jar -d dir

gzip & unzip

参数说明:

-k 保留源文件-d 解开压缩文件-r 递归处理,将指定目录下的所有文件及子目录一并处理-v 显示指令执行过程
# 压缩$ gzip test1.log# 解压$ gunzip test1.log

磁盘

Linux 日常操作(质量团队培训)

磁盘常用命令

# 查看磁盘使用情况,易读方式$ df -h# 查看 inode 使用情况$ df -i# 查看磁盘占用空间,易读方式$ du -h# 查看本目录磁盘占用总大小$ du -sh# 查看指定层级目录的大小$ du -h --max-depth=2 .$ du -h -d 2 .# 查看系统硬盘$ fdisk -l

json 解析命令 jq

详见: linux 下强大的 JSON 解析命令 jq

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多