Linux常用命令以及参数(1)

ls

	用于显示当前目录下的文件
			-a 显示当前目录下的隐藏文件(Linux中的隐藏文件以.开头)
			-l 以长格式显示
			-h 以人类可读方式使用
			-d 查看目录本身

使用示例如下:

[root@oldboy ~]# ls
# 查看当前目录下的普通文件,以下为执行结果。
anaconda-ks.cfg  job  oldboy


[root@oldboy ~]# ls -a 
# 查看当前目录下的文件,包括隐藏文件,下面就是当前目录下的文件。 
.   anaconda-ks.cfg  .bash_logout   .bashrc  job     .tcshrc
..  .bash_history    .bash_profile  .cshrc   oldboy  .viminfo
 
[root@oldboy ~]# ls -l  # 查看当前目录下的文件的详细信息
total 4
-rw-------. 1 root root 1314 Feb 28 12:01 anaconda-ks.cfg
drwxr-xr-x. 3 root root   20 Mar  4 15:28 job
drwxr-xr-x. 3 root root  117 Mar  4 15:13 oldboy

[root@oldboy ~]# ls -lh
total 4.0K
-rw-------. 1 root root 1.3K Feb 28 12:01 anaconda-ks.cfg
drwxr-xr-x. 3 root root   20 Mar  5 11:12 job

pwd

	用于显示当前目录

使用实例如下:

[root@oldboy ~]# pwd
/root
# 这说明我当正在/root目录中

alias

	用于设置别名:
			格式为:
			alias 别名名='要设置别名的命令'

使用示例如下

alias oldboy='cat /etc/sysconfig/network-script/ifcfg-ens33'
 # 给cat /etc/sysconfig/network-script/ifcfg-ens33命令起别名为
oldboy,这样我们输入oldboy命令就相当于执行了上面那一长串的操作。

history

	用于查看历史记录
			-d : 删除某一条历史记录
				例: history -d 100   //删除历史记录中第100行记录
			-w : 保存历史记录到文件中存储 
			-c :  清空历史记录

使用示例如下:

history # 查看历史记录
history -d 100 # 删除第100条历史记录
history -w /root/his # 把历史记录存到/root下的his文件中

man

	用于查看命令的帮助信息,相比较--help,man手册的排版会让用户更加舒服。

使用示例如下:

man ls # 查看ls命令的man手册

–help

	用于查看命令的帮助信息
ls --help # 查看ls命令的帮助信息

rm

	用于删除文件
	使用格式:
	rm [选项](可选)  要删除的文件
			-r : 删除目录
			-f : 强制删除
			-v :显示删除的详细过程

使用示例如下:

rm -r /root/oldboy
# 删除/root/下的/oldboy目录,并会询问是否会确定删除文件中的内容
执行示例:
[root@oldboy ~]# rm -r oldboy/
rm: descend into directory ‘oldboy/’? y
rm: remove regular empty file ‘oldboy/oldboy1’? y
rm: remove regular empty file ‘oldboy/oldboy2’? y
rm: remove regular empty file ‘oldboy/oldboy3’? y
rm: remove regular empty file ‘oldboy/oldboy4’? y
rm: remove regular empty file ‘oldboy/oldboy5’? y
rm: remove regular empty file ‘oldboy/student.txt’? y
rm: descend into directory ‘oldboy/oldboyedu’? y
rm: remove regular empty file ‘oldboy/oldboyedu/student.txt’? y
rm: remove directory ‘oldboy/oldboyedu’? y
rm: remove directory ‘oldboy/’? y

rm file1
# 删除file1文件
rm file{1..10}
# 删除file1到file0
rm file*
# 删除所有以file开头的文件
rm -f aa
# 强制删除当前目录下的aa文件,不会询问
rm -rf oldboy
# 强制删除当前目录下oldboy目录,不会询问,直接删除。

cp

	用于拷贝文件
	使用格式:
	cp [选项](可选项) 源文件 目标文件
			-p:源文件之前是什么属性拷贝后还是什么属性。
			-v:显示拷贝过程
			-r:递归拷贝,常用于拷贝目录

使用示例如下:

cp file /tmp/file_copy 
# 复制当前目录下的file文件到/tmp下并以file_copy命名
cp file /tmp
# 复制当前目录下的file文件到tmp下,不做出改名操作。
cp /etc/ /tmp/ -r
# 把/etc/目录完整的复制到/tmp/中,不做改名操作。
cp file1 file2 file3 /tmp/data
# 把file1、file2、file3目录拷贝到/tmp/data目录下
# 注:cp的最后一个目录是目标,中间的都是源文件
[root@oldboy ~]#  cp oldboy job -rv
# 将当前目录下的odlboy目录完整的拷贝到job中,并显示拷贝过程。执行结果如下:
‘oldboy’ -> ‘job/oldboy’
‘oldboy/oldboy1’ -> ‘job/oldboy/oldboy1’
‘oldboy/oldboy2’ -> ‘job/oldboy/oldboy2’
‘oldboy/oldboy3’ -> ‘job/oldboy/oldboy3’
‘oldboy/oldboy4’ -> ‘job/oldboy/oldboy4’
‘oldboy/oldboy5’ -> ‘job/oldboy/oldboy5’
‘oldboy/student.txt’ -> ‘job/oldboy/student.txt’
‘oldboy/oldboyedu’ -> ‘job/oldboy/oldboyedu’
‘oldboy/oldboyedu/student.txt’ -> ‘job/oldboy/oldboyedu/student.txt’
 
 cp -p file1 /tmp/data
 # 把当前目录下的file1文件完整的复制到/tmp/data下,不改变file1文件的任何属性。

mv

	用于移动文件
	使用格式:
	mv [选项](可选) 源文件或目录 目标目录

使用示例如下:

mv file /tmp
# 移动file文件到/tmp目录
mv file /tmp/file1
# 移动file文件移动到/tmp目录并改名为file1
mv file{1..10} /tmp/
# 将当前目录下的file1到file10移动到/tmp下
mv file text1.txt
# 将当前目录下的file文件重命名为text1.txt

mkdir

	用于创建目录。
			-p: 递归创建;也就是说可以创建一个完整的路径,路径中没有的
			目录他会自动帮你创建。
			-v: 查看创建的详细过程

使用示例如下:

mkdir /root/dir # 在超级管理员的家目录下创建一个名叫dir的目录
mkdir /root/dir{1..3} # 在root目录下创建dir1、dir2、dir3目录
 
mkdir -p /oldboy/books/1/2/3/4 # 创建完成后目录结构是如下:
[root@oldboy /]# tree /oldboy/
/oldboy/
└── books
    └── 1
        └── 2
            └── 3
                └── 4

5 directories, 0 files

mkdir -pv /oldboy/books/1/2/3/4/5 # 执行结果如下:
[root@oldboy /]# mkdir  /oldboy/books/1/2/3/4/5 -pv
mkdir: created directory ‘/oldboy’
mkdir: created directory ‘/oldboy/books’
mkdir: created directory ‘/oldboy/books/1’
mkdir: created directory ‘/oldboy/books/1/2’
mkdir: created directory ‘/oldboy/books/1/2/3’
mkdir: created directory ‘/oldboy/books/1/2/3/4’
mkdir: created directory ‘/oldboy/books/1/2/3/4/5’

mkdir -pv /home/{od/{diu,but},boy} # 执行结果如下:
[root@oldboy /]# mkdir -pv /home/{od/{diu,but},boy}
mkdir: created directory ‘/home/od’
mkdir: created directory ‘/home/od/diu’
mkdir: created directory ‘/home/od/but’
mkdir: created directory ‘/home/boy’

touch

	用于创建文件。
	touch 文件名

使用示例如下:

touch file    # 在当前目录下创建一个名叫file的文件
touch file1 file2 file3 file4  # 在当前目录下创建file1 file2 file3 file4 四个文件
touch file{1..4} # 与上面一条命令实现的功能相同
touch file /tmp/file1 # 在当前目录下创建file文件、在tmp目录下创建file1文件

tree

	用于查看目录结构。

cat

	查看文件内容。
			-n: 显示文件有多少行
			-A:查看文件的特殊符号

使用示例如下:

[root@oldboy ~]# cat /etc/passwd -A
root:x:0:0:root:/root:/bin/bash$
bin:x:1:1:bin:/bin:/sbin/nologin$

[root@oldboy ~]# cat passwd -n
     1	root:x:0:0:root:/root:/bin/bash					
     2	bin:x:1:1:bin:/bin:/sbin/nologin

[root@oldboy ~]# cat passwd -A
root:x:0:0:root:/root:/bin/bash^I^I^I^I^I$
bin:x:1:1:bin:/bin:/sbin/nologin$

less

	用于查看大文件使用空格翻页,上下键可以逐行浏览,q退出浏览。

使用less后,执行结果如下:

root:x:0:0:root:/root:/bin/bash                                 
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
aaa:x:1001:1001::/home/aaa:/bin/bash
a:x:1002:1002::/home/a:/bin/bash

可以看到,less命令查看文件可以直接讲所要查看文件的第一行置于页面顶部,方便我们浏览。

more(与less基本相同)

	用于查看大文件,使用空格翻页,使用enter键可以换到下一行,可以查看当前浏览到总文档的百分比,q退出浏览。
	使用示例如下:

在这里插入图片描述
可见,more查看文件后与less基本类似,只是多了查看的百分比的显示。

head

	查看文件的前几行,默认看文件的头十行。
	可以加上-n+所要查看的行数可以指定查看前n行,

使用示例如下:

[root@oldboy ~]# head passwd 
# 查看passwd文件的前十行
root:x:0:0:root:/root:/bin/bash					
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

[root@oldboy ~]# head -n3 passwd 
# 查看当前文件的前3行,没有n直接-3也可以起到相同的效果。
root:x:0:0:root:/root:/bin/bash					
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

tail

	查看文件的后几行,默认看文件的最后十行。
	用法与head基本相同。
			-f :可以实时监控文件尾部的变化。

tailf

	与tail -f相同,只是两个名字而已。

grep

	 三剑客之一,过滤文件内容,用于取行。
	 		^ : 以什么开头的内容
	 		$: 以什么结尾的行
	 		-v: 除了什么其他都列出来
	 		-i: 不区分大小写匹配
	 		-E: 多表达式匹配
	 		-n:查看过滤的内容在文件的多少行
	 		-A:查看过滤出的信息以及该信息下面的几行的信息
	 		-B:查看过滤出的信息以及该信息上面的几行的信息
	 		-C:查看过滤出的信息以及该信息下面和上面的几行的信息

使用示例如下:

[root@oldboy ~]# grep "root" /etc/passwd
# 在passwd中匹配包含root关键字的行
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

[root@oldboy ~]# grep "^root" /etc/passwd
# 匹配以root开头的行
root:x:0:0:root:/root:/bin/bash

[root@oldboy ~]# grep "/bin/bash$" /etc/passwd
# 匹配以/bin/bash结尾的行
root:x:0:0:root:/root:/bin/bash
aaa:x:1001:1001::/home/aaa:/bin/bash
a:x:1002:1002::/home/a:/bin/bash

[root@oldboy ~]# grep "/bin/bash$" /etc/passwd -v
# 匹配所有不以/bin/bash结尾的行
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin

[root@oldboy ~]# grep "root" passwd -i
# 匹配所有含有root的行,不区分大小写。
root:x:0:0:root:/ROOT:/bin/bash					
operator:x:11:0:operator:/root:/sbin/nologin

[root@oldboy ~]# grep "root|/bash" passwd -E
# 匹配所有含有root或含有/bash的行
root:x:0:0:root:/ROOT:/bin/bash					
operator:x:11:0:operator:/root:/sbin/nologin
aaa:x:1001:1001::/home/aaa:/bin/bash
a:x:1002:1002::/home/a:/bin/bash


[root@oldboy ~]# grep "root" passwd -n
# 匹配所有带有root的行,匹配结果含有过滤出的内容在源文件的行号
1:root:x:0:0:root:/ROOT:/bin/bash					
10:operator:x:11:0:operator:/root:/sbin/nologin

[root@oldboy ~]# grep "root" passwd -n -A 1
# 匹配所有带有root的行,并将其下一行也打印出来
1:root:x:0:0:root:/ROOT:/bin/bash					
2-bin:x:1:1:bin:/bin:/sbin/nologin
--
10:operator:x:11:0:operator:/root:/sbin/nologin
11-games:x:12:100:games:/usr/games:/sbin/nologin

[root@oldboy ~]# grep "/root" passwd -n -B 1
# 匹配所有带有/root的行,并将其上一行也打印出来
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin

[root@oldboy ~]# grep "/root" passwd -n -C 1
# 匹配所有带有/root的行,并将其上一行和下一行都打印出来
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11-games:x:12:100:games:/usr/games:/sbin/nologin

wget

	用于网上下载文件
	wget [选项] 下载链接
	 -O 可以对下载下来的文件存储到任意位置以及重命名等操作。

curl

	用于网上下载文件
	curl [选项] 下载链接
			直接curl只能查看互联网的内容
			-o : 与wget的-O相同

sz

	安装了lrzsz软件包以后就可以使用
	用于本地文件的下载,服务器-->本地客户机
		【格式】sz 要传入本地客户机的文件

rz

	用于本地文件的上传,本地客户机-->服务器
		方法1:直接从本地拖到服务器上就可以
		方法2:在服务器输入rz,在弹出的窗口中完成操作即可

sz和rz不支持断点续传,不支持传输大于4G的文件

which

	用于查看命令所在的绝对路径。
	语法格式:
	which 要查看的命令名

示例如下:

[root@oldboy ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

whereis

	用于查看命令所在的路径。
	语法格式:
	whereis 要查看的命令名
			-b :仅显示命令所在的路径

示例如下:

[root@oldboy ~]# whereis -b ls
ls: /usr/bin/ls


[root@oldboy ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

9

type

	用于查看命令的类型。
			-a : 查看命令的绝对路径(包括别名)

示例如下:

[root@oldboy ~]# type ls
ls is aliased to `ls --color=auto'

[root@oldboy ~]# type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls

sort

	用于文件内容的排序。
	选项如下:
			-r: 倒序
			-n:安装数字排序
			-t: 指定分隔符
			-k: 指定按照第几列进行排序

示例如下:

[root@oldboy ~]# sort file.txt -t ":" -k2
# 以:作为分隔符,按照第二列对file.txt中的内容进行排序。这里按照第一个字符依次排序。
f:1
e:10
a:2
b:4
c:5
d:6

[root@oldboy ~]# sort file.txt -t ":" -k2 -n
# 以:最为分隔符,按照第二列并按照数字的方式对file.txt中的内容进行排序。
f:1
a:2
b:4
c:5
d:6
e:10


[root@oldboy ~]# sort file.txt -t ":" -k2 -rn
# 以:最为分隔符,按照第二列并按照数字的方式对file.txt中的内容进行排序,并将排好的结果倒序输出。
e:10
d:6
c:5
b:4
a:2
f:1

[root@oldboy ~]# sort -t "." -k3.1,3.1 -k4.1,4.3 -n ip.txt 
# 对ip.txt文件按照ip地址进行排序,上面命令中的3.1表示对第三列的第一个字符进行排序,
# 4.1,4.3表示从第四列的第一个字符到第四列的第三个字符(这种情况较为少见,但是也需了解)
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.0.153 00:0F:AF:85:70:03
192.168.1.1 00:0F:AF:81:19:1F
192.168.1.10 00:30:15:A2:3B:B6

|

	管道符:用于将左边命令的输出作为右边命令的输入。

示例如下:

[root@oldboy ~]# sort file.txt -t ":" -k2 -rn | head -n3
# 将文件排序后只输入前三行
e:10
d:6
c:5
tee
表示把在管道传递的过程中,把前面的命令的执行结果保存下来,也可以把前面的命令的执行结果输出到屏幕。需要注意的是,tee不会影响文件最终的输出结果。
	-a :表示追加

使用示例:

[root@oldboy ~]# date | tee 1.txt
Wed Mar 18 11:02:39 CST 2020
xargs
可以让不支持管道的命令来使用管道。

使用示例如下:

[root@oldboy ~]# which cat | xargs ls -l
-rwxr-xr-x. 1 root root 54160 Oct 31  2018 /usr/bin/cat

uniq

	用于文件内容的去重。
			-c:统计重复内容出现的次数。
			(注意:uniq去重需要与sort配合使用,因为uniq只能对相邻的内容进行去重操作)

示例如下:

[root@oldboy ~]# cat file3.txt 
abc
123
abc
123


[root@oldboy ~]# sort file3.txt | uniq 
123
abc


[root@oldboy ~]# sort file3.txt | uniq -c
      2 123
      2 abc

cut

	用于截取字段。(不常用)
			-d :指定分隔符
			-f 数字:表示取第几列
			-c :按字符取

示例如下:

[root@oldboy ~]# cat oldboy.txt 
Im oldxu, is QQ 552408925

[root@oldboy ~]# cut -d " " -f 2,5 oldboy.txt 
oldxu, 552408925

sed

	三剑客之一,用于替换。
			-i:替换原文件的内容。

示例如下:

[root@oldboy ~]# cut -d " " -f 2,5 oldboy.txt | sed 's#,##g'
oldxu 552408925

awk

	三剑客之一,用于取列。
			-F:指定分隔符
					-F "[ ]"在中括号中可以指定多个分隔符
					-F "[ ,]+"表示空格是一个分割符、逗号是一个分隔符、空格+逗号也表示一个分隔符
							+:表示重复前面的一次或多次
	NR:表示读取行号
	$0:awk是逐行处理文件的,读入一行,然后将一行的内容赋值给$0变量。
[root@oldboy ~]# awk '{print $2" "$5}' oldboy.txt | awk -F "," '{print $1 $2}'
oldxu 552408925

[root@oldboy ~]# awk -F "[ ,]" '{print $2,$6}' oldboy.txt 
oldxu 552408925

[root@oldboy ~]# awk -F "[ ,]+" '{print $2,$5}' oldboy.txt 
oldxu 552408925

wc

	用于统计文件有多少行
			-l:显示文件行数
			-c:显示文件字节
			-w:显示文件单词

使用示例如下:

[root@oldboy ~]# wc -l /etc/services 
11176 /etc/services

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值