Linux常用命令集合

1、export 命令(定义变量)

export 命令用于创建临时变量,创建的临时变量仅当前会话有效;
语法:

export a=10;			#定义一个变量a值为10

2、echo 命令(打印)

使用 echo 命令可以打印变量的值;
语法:

echo $变量名

例如打印变量PATH;

echo $PATH

在这里插入图片描述

3、printenv 命令(环境变量)

printenv 命令可以打印环境变量

printenv

在这里插入图片描述

4、more 命令(查看大型文件)

more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),常用于查看较大文件,基本用法:

more [参数列表] 文件名

下图是使用 more 查看某个文件,在左下角会显示已看的进度;
按空格向下翻页,按 b 向上翻页;按回车展示下一行;
看完全部内容后会自动退出查看模式,也可以直接按 q 退出查看

在这里插入图片描述

常用参数列表:

  • -num:一次显示 num 行
  • +num:从第 num 行开始显示
  • -p:不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -s:当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u:不显示下横线

常用快捷操作:

Enter		#逐行显示
b			#向上翻页
空格		#向下翻页
=			#输出当前行号
V			#调用vi编辑器
q			#退出more

5、less 命令(查看大型文件)

less 与 more 类似,但使用 less 可以随意浏览文件,more 会在查看前加载整个文件,而且 less 在查看之前不会加载整个文件。
基本用法:

less [参数列表] 文件名

查看历史命令,less显示

history | less

在这里插入图片描述

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x 将"tab"键显示为规定的 n 个空格
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能

常用快捷操作:

Enter		#逐行显示
b			#向上翻页
PageUp		#向上翻页
PageDown	#向下翻页
空格		#向下翻页
=			#输出当前页面行号范围
v			#调用vi编辑器
q			#退出less
n			#切换到下一个文件
p			#切换到上一个文件
g			#快速定位到第一行
G			#快速定位到最后一行

6、wc 命令(计数)

wc 命令用于计算文件的字数等
语法:

wc [参数列表] 文件

查看某个文件结果如下图所示,第一个表示文件的行数,第二个表示文件中的单词数,第三个表示文件中的字节数

在这里插入图片描述
参数列表:

  • -c或–bytes或–chars 只显示Bytes数
  • -l或–lines 只显示行数
  • -w或–words 只显示单词数
  • -L 计算最长行的长度

7、管道命令( | )

把管道符左侧程序的输出作为管道符右侧程序的输入

cat a.txt | head -2

在这里插入图片描述

8、grep 命令(查找)

grep 命令用于查找文件里符合条件的字符串;
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。
语法:

grep [参数列表] [文件或目录...]

常用参数列表:

  • -a 或 --text : 不要忽略二进制的数据
  • -b:在显示符合样式的那一行之前,标示出该行第一个字符的编号
  • -c 或 --count : 计算符合样式的列数
  • -i 忽略大小写
  • -w 匹配整个单词
  • -l 只列出文件名,不列出匹配的行
  • -r 在当前目录及其所有子目录中查找
  • -n 列出具有行号的匹配行
  • -v 只打印没有匹配的,匹配的反而不打印

9、file 命令(识别文件类型)

file 命令用来识别文件类型
语法:

file 文件

在这里插入图片描述

10、I/O Stream(重定向)

stdin:标准输入,编号为0,用于程序从键盘等设备接收数据。输入流被EOF(文件结尾)终止
stdout:标准输出,编号1,用于程序向终端等设备写入数据
stderr:标准错误,编号2,用于向终端等设备显示错误消息
重定向 I/O Stream 到文件:

符号说明模式
<重定向 stdin-----
>重定向 stdout覆盖
>>重定向 stdout追加
2>重定向 stderr覆盖
2>>重定向 stderr追加

示例:
读取 a.txt 文件的第2行,并覆盖写入 m.txt ;若没有将报错信息写入 n.txt

head -2 a.txt | tail -1 > m.txt 2>> n.txt

执行结果如下图所示,将 a.txt 中的第2行写入 m.txt,n.txt中没有被写入
在这里插入图片描述

11、which 命令(命令查找)

用于查找命令的绝对路径
例如:

which yum
which bash
which file
which grep

注意该命令只能用于查找命令的路径,不能某个查找文件夹的路径
在这里插入图片描述

12、find 命令(查找)

find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法:

find 路径 [参数列表] [查找条件];

常用参数列表:

  • -amin n : 在过去 n 分钟内被读取过
  • -anewer file : 比文件 file 更晚被读取过的文件
  • -atime n : 在过去n天内被读取过的文件
  • -cmin n : 在过去 n 分钟内被修改过
  • -ctime n : 在过去n天内被修改过的文件
  • -empty : 查找空的文件
  • -ipath p:路径名称符合 p 的文件,ipath 会忽略大小写
  • -name name:文件名称符合 name 的文件。iname 会忽略大小写
  • -size n:文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组
  • -pid n : process id 是 n 的文件
  • -type c : 文件类型是 c 的文件
    文件类型:
    d:目录
    c:字型装置文件
    b:区块装置文件
    p:具名贮列
    f:一般文件
    l:符号连结
    s:socket

实例
1、查找 shell 文件夹下的 .txt 文件

find /shell -name '*.txt'

在这里插入图片描述
2、将目前目录其其下子目录中所有一般文件列出

find ./ -type f

3、将目前目录及其子目录下所有最近 20 天内更新过的文件列出

find ./ -ctime -20

4、查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们

find /var/log -type f -mtime +7 -ok rm {} \;

5、查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件

find ./ -type f -perm 644 -exec ls -l {} \;

6、为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径

find / -type f -size 0 -exec ls -l {} \;

13、ln 命令(创建软连接)

在文件之间建立软连接;
语法:

ln -s /路径/[文件]

示例:
现有一个文件 mm.txt 在 /shell/A/B/B/C/ 下面;给其建立一个软连接可以更方便的使用到该文件

cat /shell/A/B/B/C/mm.txt				#原来查看该文件方法
ln -s /cat /shell/A/B/B/C/mm.txt x		#创建软连接
cat x									#使用软连接查看mm.txt文件

使用效果如下所示
在这里插入图片描述
建立软连接可以节省大量路径的输入,一般在路径较长且经常使用的文件夹或文件创建软连接

14、date 命令(时间)

打印或设置系统时间等
语法:

date [+参数列表] [-参数列表]

参数列表:
时间方面:

+%Y-%m-%d 						 #显示年月日
+%H:%M:%S 						 #显示时分秒
+'%Y-%m-%d %H:%M:%S'			#显示当前完整时间
% : 印出 %
%n : 下一行
%t : 跳格
%H 或者 %k : 小时(24小时制)
%I 或者 %l: 小时(12小时制)
%M : 分钟(00..59)
%S : (00..61)
%s : 当前格林威治时间毫秒数
%p : 显示本地 AMPM
%T : 直接显示时间 (24 小时制,时分秒)
%r 或者 %X : 直接显示时间 (12 小时制,时分秒 AM/PM)
%Z%z : 显示时区

上面部分参数演示如下:
在这里插入图片描述
日期方面:

%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b 或者 %h : 月份 (Jan..Dec)
%B : 月份 (January..December)
%m : 月份 (01..12)
%c : 直接显示日期与时间(包括星期哦)
%d : 当前日 (今天多少号)
%D : 直接显示日期 (//(年份后两位))
%x : 直接显示日期 (//(完整年份))
%y : 年份的最后两位数字 (20)
%Y : 完整年份 (2020)
%j : 一年中的第几天 (001..366)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6/星期天为第0)

上面参数演示如下:
在这里插入图片描述
其他操作:

-u : 显示当前格林威治时间
-s datestr : 将系统时间设为 datestr 中所设定的时间

注意:可以自由组合自己需要输出的日期形式,当有多个参数需要展示时,全都放在单引号里面,并以空格分隔

15、ping 命令

ping 命令用于显示与主机的连通性
语法:

ping 192.168....         `ip地址`

在这里插入图片描述

16、awk 命令

显示一个文件中的第几列

#不指定分隔符
awk '{print $2}' a.txt
#指定分隔符
awk -F' ' '{print $2}' a.txt
#添加表头
awk -F' ' 'BEGIN{print "name"} {print $2}' a.txt
#添加表尾
awk -F' ' 'BEGIN{print "name"} {print $2} END{print "--------------end--------------"}' a.txt

17、sed 命令

流式编辑器:不需要打开文件就可以对文件进行编辑

不会修改原文件,需要保存则使用>重定向覆盖原文件内容

#替换文本中的字符串
sed 's/1002/1003/g' a.txt
#删除第几行的数据
sed '2d' a.txt
#删除第2到4行的数据
sed '2,4d' a.txt

18、:%s 命令

删除每行第一个字符

:%s
:%s/^.//g

使用该命令之后,会出现第一列(即所有行的第一个字符)高亮的情况,此时使用命令:nohl即可删除高亮。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值