linux常用命令

linux常用命令

linux常见命令整合

命令作用命令作用
cd切换目录rm删除不要的文件或目录
pwd显示当前路径touch创建新的文件
ls查看目录下的内容mv为文件或目录进行剪切+重命名
du统计指定目录或文件所占磁盘空间的大小df查看磁盘信息
mkdir创建新的空目录which查找命令文件存放的目录
ln为文件或或目录建立链接文件find多条件查找
cp复制文件或目录wc统计文件内容

1.1 cd 命令

​ cd命令本质而言是一个可以执行的程序 ----一个文件或者是函数/编码。

​ 使用cd命令来改变所在目录

cd /  切换到根目录下
cd	  切换到家目录下
cd ./ 当前目录
cd .. 返回上一级即父目录
cd -  返回上一次使用cd时所在目录

​ 在进行cd切换路径时会有相对路径绝对路径之分

绝对路径:凡是路径开头以“/”开头的路径都是绝对路径

相对路径:相反只要是不以“/”开头的路径都是相对路径

1.2 pwd命令

​ 该命令的全称是print working directory(打印工作目录)。输入pwd命令就会返回当前目录的所在路径。

[root@localhost aaa]# pwd
/opt/aaa	#这就是目前所在位置

1.3 ls命令

常用选项解释
-l以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。"l命令与ls -l功能相同
-a显示所有(AII)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
-A与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的"”和表示父目录的
-d显示目录(Directory)本身的属性,而不是显示目录中的内容。
-h以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B)使用-h选项后将显示为KB、MB 等单位,此选项需要结合-1选项一起使用。
-R以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
-i显示文件和目录的inode号
-t以时间排序,最新的文件会排在上面。
-r表示反向排序、倒序输出。

​ 下面我们使用几个常用的选项来看下具体实例

ls -l(ll):

[root@localhost test_files]# ll
总用量 0
-rw-r--r--. 1 root root 0 7月  30 19:58 doc1.pdf
-rw-r--r--. 1 root root 0 7月  30 19:58 file1.txt 
-rw-r--r--. 1 root root 0 7月  30 19:58 file2.txt #显示出来文件详细信息如权限、用户主、用户组、日期等等
扩展:其中-rw-r--r--代表的含义如下
第一个“-”代表文件类型 这里指普通文件 不同字母代表不同文件类型 比如“d”是目录 “l”指链接 这里不做过多阐述
后面的rw-r--r--三个为一组 第一组代表从属主、第二组代表从属组、第三个组代表其他用户
一组由r w x 三部分组成
“r”:可读权限
“w”:可写权限
“x”:可执行权限

ls -a:

[root@localhost test_files]# ls -a
.  ..  doc1.pdf  file1.txt  file2.txt
### 显示隐藏文件信息  . ..

ls -h:

[root@localhost etc]# ll -h grub.d/
总用量 72K
#### 使用后能直观看到文件具体大小

ls -i:

[root@localhost etc]# ls -i grub.d/
101432836 00_header  101432839 20_linux_xen     101432843 41_custom
###前面的数字就是inode号

ls还可以结合通配符来使用,常用通配符如下:

通配符用法
代表任意一个字符,有且一个字符
*代表任意数个字符,可以是0个或者1个
【】表示可以匹配字符组中的任意一个字符

用法实例

“?”:

[root@localhost test_files]# ls  ###查看目录下文件
doc1.pdf  file1.txt  file2.txt
[root@localhost test_files]# ls ./file?.txt  ##匹配当前目录下file后跟单个字节的txt文件
./file1.txt  ./file2.txt

“*”:

[root@localhost test_files]# ls ./file*.txt  ###匹配当前目录下file后跟任意数的TXT文件
./file1.txt  ./file2.txt

“【】”:

[root@localhost test_files]# ls ./file[12].txt  ###匹配当前目录下file1 2当中任意一个的txt文件
./file1.txt  ./file2.txt

1.4 du命令

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s只统计所占用空间总的大小,而不是统计每个子目录、文件的大小
–max-depth=n统计所有小于等于第 n 层的目录的总大小

实用案例

du -a:

[root@localhost ~]# du -a recent_files/    ###查看recent_files目录下的各级目录的空间占用情况
16      recent_files/tallylog
4       recent_files/grubby_prune_debug
44      recent_files/lastlog
4       recent_files/btmp
12      recent_files/wtmp

du -h:

[root@localhost ~]# du -h recent_files/   ###更人性化统计出占用总数
7.1M    recent_files/

du -s:

[root@localhost ~]# du -s recent_files/  ###只统计总大小,不会有子目录等的信息
7180    recent_files/

du --mac-depth=n:

[root@localhost project]# du --max-depth=2 ./
0       ./c
0       ./a.txt
0       ./b.txt
0       ./log/samba
0       ./log/ppp
#### 只统计当前目录下小于2层目录的大小

1.5 mkdir命令

mkdir [选项] 目录位置以及名称

mkdir -p :一次性创建嵌套多层目录

实例

[root@localhost ~]# mkdir 111  ###当前位置创建一个名为111的目录
[root@localhost ~]# ls
111 

mkdir -p:

[root@localhost ~]# mkdir -p aa/bb/cc   ###递进创建aa/bb/cc
[root@localhost ~]# ls
aa
[root@localhost ~]# ls aa/bb/
cc

1.6 ln命令

命令说明
ln创建硬链接
ln-s创建软链接

用法:

ln [s]源文件或者目录.....链接文件或者目标位置

创建硬链接:

[root@localhost aa]# ln 123.txt ../  创建本目录下的123.txt的硬链接文件到 父目录中
[root@localhost aa]# ls
123.txt
[root@localhost aa]# ll ../
总用量 12
drwxr-xr-x. 2 root root    6 7月  31 20:31 111
-rw-r--r--. 2 root root    0 7月  31 20:46 123.txt  ###硬链接

创建软链接:

[root@localhost aa]# ln -s 456.txt ../    创建456.txt的文件软链接到父目录中
[root@localhost aa]# ll ../
总用量 12
drwxr-xr-x. 2 root root    6 7月  31 20:31 111
-rw-r--r--. 2 root root    0 7月  31 20:46 123.txt
lrwxrwxrwx. 1 root root    7 7月  31 20:49 456.txt -> 456.txt  ####软链接

软硬链接的区别

符号链接与源文件大小inode号文件属性删除源文件
软链接不一样不一样指向性文件不能
硬链接相通一样独立文件正常查看

硬链接与源文件大小一致、软链接比源文件小

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

硬链接inode号一致,软链接inode号不一样

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

软链接删除源文件不能查看、硬链接无影响

[root@localhost aa]# ls
123.txt  456.txt
[root@localhost aa]# rm -rf *   ###删除软硬链接源文件
[root@localhost aa]# ls
[root@localhost ~]# cat 123.txt    ###硬链接查看正常
sdadadadadasdadasdanklnkad :
[root@localhost ~]# cat 456.txt
cat: 456.txt: 符号连接的层数过多		###软链接查看异常

软硬链接的优劣点

优点缺点
软链接小、轻便、使用范围大可跨文件系统使用占用inode号、安全性低
硬链接相对安全、不重复占用空间无法跨文件系统创建

1.7 cp命令

选项说明
-f覆盖目标同名文件或目录时不进行提醒,而直接强制复制。
-i覆盖目标同名文件或目录时提醒用户确认
-p复制时保持源文件的权限、属主及时间标记等属性不变。
-r复制目录时必须使用此选项,表示递归复制所有文件及子目录。
-a完整保留所有信息包括连接文件。可以直接复制目录

这边使用常用的几个举例

cp -rp:

[root@localhost aa]# ls
123.txt  456.txt  bb  qwe.txt
[root@localhost aa]# ll
总用量 8
-rw-r--r--. 1 root root  4 7月  31 21:17 123.txt
-rw-r--r--. 1 root root  4 7月  31 21:17 456.txt
drwxr-xr-x. 3 root root 31 7月  31 21:55 bb
lrwxrwxrwx. 1 root root  7 7月  31 21:33 qwe.txt -> 456.txt
[root@localhost aa]# cp -rp bb/ /mnt/
[root@localhost aa]# ll /mnt/
总用量 0
drwxr-xr-x. 3 root root 31 7月  31 21:55 bb  ####复制过来权限没变 
[root@localhost aa]# ls /mnt/bb/
cc  qwe.txt   ####复制后子目录也正常

1.8 rm命令

选项说明
-f删除文件或目录时不进行提醒,而直接强制删除。
-i删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
-r删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)

实例用法

rm-rf:

[root@localhost mnt]# ls
bb
[root@localhost mnt]# ls ./bb/
cc  qwe.txt
[root@localhost mnt]# rm -rf bb/  #强制删除当前目录下bb目录及所有子目录
[root@localhost mnt]# ls  ####查看删除完成
[root@localhost mnt]#

1.9 df命令

df -h : 显示磁盘信息

df -hT:显示磁盘类型

实例

df -h:

[root@localhost aa]# df -h bb/
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   37G  4.4G   33G   12% /

df -hT:

[root@localhost aa]# df -hT bb/
文件系统                类型  容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs    37G  4.4G   33G   12% /
####可以看到相较于df-h 多了类型选项

2.0 whcih命令

whcih是来查找命令文件存放的目录的

用法:which 命令|程序名 默认找到第一个目标后就不再继续查找

which -a : 在所有搜索路径中查找

[root@localhost ~]# which cat    #查找命令路径
/usr/bin/cat
[root@localhost ~]# which -a cat
/usr/bin/cat

2.1 find命令

find命令的特点:精确查找、实时查找 、支持查找条件多

格式:

​ find 【查找路径】【查找条件】【处理动作】

​ 查找路径:指定具体目标路径;默认为当前目录

​ 查找条件:可以对文件名、大小、类型、权限等标准进行查找

默认为找出指定路径下的所有文件

​ 处理动作:对符合条件的文件做操作,默认输出至屏幕(print)

查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找-size根据目标文件的大小进行查找,
号设管超过或小于指定的大小
一般使用“+"
作为查找条件,常用的容量单位包括 kB(注意k是小写)、MB、GB(M和G要大写!)
按文件属主查找-user根据文件是否届于目标用户进行查找
按文件类型查找-type根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件
(b)、字符设备文件©等
按inode号-inum根据文件inode号查找
按权限查找-perm按文件权限查找
最大搜索目录深度-macdepth level将你的文件已分级的形式查找
最小搜索目录深度-mindepth level将你的文件已分级的形式查找

举几个常用的例子

find -name :

[root@localhost ~]# ls test_files/
doc1.pdf  file1.txt  file2.txt
[root@localhost ~]# find ./test_files/ -name "*.txt"   ###查找test_files目录下文件名以.txt结尾的文件
./test_files/file1.txt
./test_files/file2.txt
### 得到按名字匹配的结果

find -size:

[root@localhost ~]# find ./project/ -size +1M
[root@localhost ~]#
####查找大小大于1M的文件    我这边没有符合要求的所有没有返回

find -type:

[root@localhost test_files]# ls
demo  doc1.pdf  file1.txt  file2.txt
[root@localhost test_files]# find . -type d
.
./demo
####查找当前目录下文件属性是目录的文件

使用find 命令实现多个查找条件

表达式之间使用逻辑运算符

​ -“a”:表示 而且 (and)

​ -“o”:表示 或者 (or)

find /etc/ -type f -o -size +50k -a -name *.ttb

###这条命令的意思就是:找寻/etc/目录下,满足文件属性,或者50k以上大小,以及以.ttb为结尾的任何对象
find /opt/-size +lG -type f -exec mv {} /etc \;
####查找到/opt月录下,1G以上的普通文件,然后将查找到的文件全部mv移动到etc里面
mv {}/etc\;【处理动作】
处理动作】

扩展 : wc -l 统计文件内容有多少行

[root@localhost test_files]# wc -l file1.txt
12 file1.txt   ##查看file1.txt文件有多少行   返回12行

2.2 管道符命令

|:管道符将管道符左侧返回的结果当做参数交给管道符右面的指令处理

左侧标准输入 右侧标准输出

find /etc/ -type f -size +12k -name *.ttb | wc -l
8
###查找etc目录下 大于12k以.ttb结尾的普通文件 找到结果交由管道符右侧统计行数   返回8行

管道符与上面使用的-exec的区别

-exec 前面结果一条一条丢给后面处理

"|"管道符是一次性全丢给后面处理,让后方程序自行分辨

两者调用资源 处理速度效率不一样

总结

不同命令之间相互组合以及与通配符的搭配可以使得工作效率大大提高,要善于结合搭配命令,不同的搭配所呈现的结果是不同的。
扩展 : wc -l 统计文件内容有多少行

[root@localhost test_files]# wc -l file1.txt
12 file1.txt   ##查看file1.txt文件有多少行   返回12行

2.2 管道符命令

|:管道符将管道符左侧返回的结果当做参数交给管道符右面的指令处理

左侧标准输入 右侧标准输出

find /etc/ -type f -size +12k -name *.ttb | wc -l
8
###查找etc目录下 大于12k以.ttb结尾的普通文件 找到结果交由管道符右侧统计行数   返回8行

管道符与上面使用的-exec的区别

-exec 前面结果一条一条丢给后面处理

"|"管道符是一次性全丢给后面处理,让后方程序自行分辨

两者调用资源 处理速度效率不一样

总结

不同命令之间相互组合以及与通配符的搭配可以使得工作效率大大提高,要善于结合搭配命令,不同的搭配所呈现的结果是不同的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值