超详细Linux命令学习总结

一、基础命令

1、ls-lh:以可读性较高的形式显示所有的文档 h表示可读性高

2、mkdir -p:创建多层文件夹

3、cp -r:复制文件夹 r表示递归

4、mv:移动或者重命名

5、rm -rf:强制删除文件夹 r表示递归 f表示强制

6、> >>:输出重定向 >覆盖输出 >>追加输出

7、cat:-n:加序号 直接打开文件夹显示到终端上 并且具有合并的功能

8、df -h:以可读性较高的方式查看磁盘大小 h表示可读性较高

9、free -m:查看内存使用情况 m表示以mb的方式查看

10、head -n:查看文件前n行 n表示数字 n不指定默认为10行

11、tail -n:查看文件后n行 n表示数字 n不指定默认为10行

12、less:查看文件以较少的方式输出 q键退出 上下键 数字键(翻页)

13、wc:统计文件内容信息 -l -w -c 默认顺序为(行、单词、字节)

14、date(重点):
读取时间:
+%F(2020-04-25) +%T(10:28:57)
“+%F %T”( 2020-04-25 10:25:46) Y(年)m(月)d(日) H(时)M(分)S(秒)
设置时间(多用于备份):
date -d设置时间 “-n day” 过去n天 “+n day”未来n天 月年同理

15、cal:查看日历 -1表示当前月 -3前、当前、后 -y查看全年

16、clear(ctrl+L):清除终端命令信息(隐藏)

17、|(管道符):grep(过滤)
案例:ls / | grep y(查询根目录下带有y的文档)
wc(统计)
案例:ls / | wc -l(统计根目录下的文件个数)

18:hostname:输出当前服务器的主机名 -f FQDN(全限定类名)

19、id:查看用户基本信息
验证用户信息目录:(/etc/passwd)
验证用户组信息目录:(/etc/group)

20.whoami:(显示当前用户)一般用户shell脚本方便记录日志

21、ps -ef(重点):查看服务器进程信息 -e列出全部 -f显示全字段
案例:
查看某个进程状态 ps -ef | grep 进程名

22、top:动态的查看服务器的进程占用资源 q停止
计算一个进程的实际内存 = RES(常驻内存)-SHR(共享内存)
快捷键:
M:MEM(内存占用百分比)从高到低排序
P:CPU(CPU是使用率)从高到低降序排列

23、du -sh参看目录真实大小 -s汇总显示 -h可读性较高显示

2、进阶命令

24、find(重点):用于查找文件
语法:find 路径范围 选项 选项的值
-name(文档模糊名称查询)
案例:查询etc下所有以*.conf结尾的文件 find /etc -name *.conf
-type(文档类型查询)f表示文件 d表示文件夹
案例:查询 /etc/sane.d 目录下的所有文件 find /etc/sane.d -type f

25、service:用于控制软件的启动/停止/重启
语法:service 服务名 start/stop/restart

26:kill:杀死进程 通常配合 ps -ef一起使用 杀死某个进程
语法:kill 进程PID
另一种比kill好用的杀死进程的命令 killall 语法:killall 进程名称

27、ifconfig:用于操作网卡的ip地址

28、shutdown:设置系统关机时间
语法:shutdown -h 关机时间 关机提示

29、uptime(了解):计算机持续在线时间

30、uname(了解):获取计算机操作系统的信息

31、netstart -tnlp(了解):查看网络连接状态 -t(只列出tcp协议)
-n(显示IP地址和端口号) -l(过滤state其值为LISTEN)
-p(显示PID和进程名称)

32、man(manual):Linux全部命令手册
语法:man 命令
33、快速删除光标前、后的内容ctrl+u(前) ctrl+k(后)

34、vim +n(数字)文件:表示打开文件后光标停留在n行
vim +/关键字 文件:表示打开文件后关键字高亮显示

35、gg:光标移动到首行 G:光标移动到末行

36、ctrl+b(before):向上翻屏 ctrl+f(after):向下翻屏

37、shift+$:光标移动到行尾 shift+^:光标移动到行首
38、yy:赋值 p:粘贴 n(数字)yy:以当前行为准向下复制n行

39、dd:剪切(删除)删除之后下一行上移
n(数字)dd :以当前行为准向下剪切或删除n行 D:删除行后不移

40、u(undo):撤销 ctrl+r恢复撤销

41、w(末行模式) 路径 另存为 !q强制退出
了解:!命令(调用外部命令) :nohl取消高亮

42、:/关键字(末行模式)搜索/查找 N:上一个结果 n:下一个结果

43、:s/搜索的关键词/新的内容(末行模式) 替换光标所在行第一处
:s/搜索的关键词/新的内容/g 替换光标所在行的所有处
:%s/搜索的关键词/新的内容 替换文件中所有的文件
%(整个文件) g(表示全局)

44、set nu:显示行号 set nonu:取消显示行号

45、vim:个人配置文件 ~/.vimrc 全局配置文件 /etc/vimrc

46、init 3(切换至纯命令行模式) init 5(切换至图形界面模式)
配置文件:/etc/inittab

三、高级命令

47、重要的三个文件:
/etc/passwd 储存用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息

48、useradd:添加用户
语法:useradd -g(主组) -G(附加值) -u(用户uid)

49、usermod:修改用户组 语法同上
-l:修改用户名 语法:useradd -l 新的用户名 旧的用户名
50、password:设置用户密码 语法:password (用户) 密码

51、userdel:删除用户 -r表示删除用户的同时删除其家目录

52、groupadd:添加用户组 -g(设置用户组id)-n修改用户组组名

53、groupdel:删除用户组

54、/etc/sysconfig/network-scripts/ifcfg-网卡名:网络设置

55、service network restart:重启网络服务

56、ln原始文件的路径 快捷方式的路径:(硬链接) -s(软链接)

57、/etc/sysconfig/network:永久设置主机名
/etc/hosts 修改映射

58、systemctl status firewalld:查看防火墙状态
systemctl start firewalld(重启失效)systemctl enable firewalld(永久)
systemctl stop firewalld(重启时效)systemctl disable filewalld(永久)

59、rpm -qa:查询软件安装情况 -q(query)查询 -a(all)所有
rpm -e:卸载软件 -e卸载 强制卸载 rpm -e 软件包名 –nodeps
rpm -ivh:安装软件包 -i(install)安装 -v显示进度条 -h以#显示

60、crontab -e 执行命令:计划任务 -e编辑计划任务
语法:分、时、日、月、周 四个符号:*(全) -(至) /(每) ,(个)

61、r(读权限)w(写权限)x(执行权限)-(没有权限)
l(软连接) d(文件夹) -(文件) s(套接字)

62、chmod:权限设置u(所有者)g(同组)o(其他人)a(所有人)
+(增加权限) -(减少权限) =(将权限设置为具体的值)
案例:给anaconda-ks.cfg设置权限,要求所有者具有所有权限,同组人员具有读和执行,其他用户只读
① chmod u+x,g+rx,o+r anaconda-ks.cfg ②chmod u=rwx,g=rx,o=r
数字形式r(4)w(2)x(1)

四、脚本常用指令

63、history:(查看历史命令)-c(清空)-w(写入~/.bash_history)

64、命令>>文件1 2>>文件2(2表示标准的错误信息)

65、PATH=“$PATH”:/root/sh(PAHT环境变量的叠加)

66、read 变量名:读取输入 -p提示信息 -t等待秒数
-n限制输入字符数量 -s 隐藏输入

67、cut 文件名:字符串截取 -f列号 -d“”分割符

68:printf “输出类型输出格式” 输出内容:输出指定内容
%s(字符串) %i(整数)

69、awk ‘条件1{动作1} 条件1{动作1}’ 文件名
案例:df -h | awk ‘{printf $1 “\t” $5 “\t” $6}’ 条件 BEGIN(开始)
END(结束) FS(内置变量)
案例:awk ‘BEGIN{printf “The End \n”} {print $2 “\t” $6 “\n”} 文件名
END同理

70、tar:解压压缩包 -z通过gzip解压或压缩 -x解压文件
-c 打包文件 -v显示解压缩进度 -f指定解压文件

71、linux细节:^表示行首 $表示行尾 .表示一个字符 .*表示所有内容

72、():划分区域 \是转译字符

73、?:表示其前面的字符出现0次或者1次 \是转译字符

74、x:表示在命令模式下删除一个字符 dw表示在命令行模式下删除一个单词

75、tr:可以转换输出中的内容

76、seq -s “a b c”:序列化输出数字 a表示起始位置 b表示间隔 c表示数的大小 “”表示分隔符

77、正则表达式 \0是完整正则匹配的自身 \1 就是用户用()定义的第一组 同理\2 就是第二组

78、xargs -i表示将内容输出到{}中 -n表示安指定数量为一行进行输出

79、uniq -c: 计算相邻重复部分的个数

80、shuf:把输入行按随机顺序输出到标准输出

81、paste:将两个等行的数据合并 语法:paste 1 2

  • 以上是博主在学习中所作的笔记,希望能够帮到你们

你可能感兴趣的:(linux,shell)