linux常用命令整理

前言

本文总结自己所学习到的linux常用命令这里是第一章,以备不时之需,也希望各界大佬看到能指出错误并提出建议,非常感谢!!!

1. pwd

查看当前的工作目录

语法:pwd [–help][–version]

参数解释
–help在线帮助
–version显示版本信息
[root@c7-1 network-scripts]#pwd
/etc/sysconfig/network-scripts

2. cd

用于切换当前工作目录

语法:cd [dirName]

参数解释
~root用户目录
.当级目录
. .上级目录

3. ls

用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
语法:ls [-alrtAFR] [name…]

参数解释
-a显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r将文件以相反次序显示(原定依英文字母次序)
-t将文件依建立时间之先后次序列出
-A同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R若目录下有文件,则以下之文件亦皆依序列出
[root@c7-1 ~]#ll -R
.:
total 0
drwxr-xr-x 2 root root 19 Jul 28 10:23 test1
drwxr-xr-x 2 root root 19 Jul 28 10:23 test2
 
./test1:
total 0
-rw-r--r-- 1 root root 0 Jul 28 10:23 1.txt
 
./test2:
total 0
-rw-r--r-- 1 root root 0 Jul 28 10:23 2.txt

4. du

用于显示目录或文件的大小

语法:du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][–block-size][–exclude=<目录或文件>][–max-depth=<目录层数>][–help][–version][目录或文件]

du参数较多,我们只需要知道常用的几个参数就行

参数解释
-a统计磁盘空间时显示所有文件的大小,不仅仅是目录
-h以K,M,G为单位,提高信息的可读性
-s仅显示总空间大小,不显示目录和文件
-b显示目录或文件大小时,以byte为单位
k以1024 bytes为单位
-m以1MB为单位
[root@c7-1 data]#ls
test1  test2
[root@c7-1 data]#du -sh    #显示总计,默认K为单位
8.0K	.
[root@c7-1 data]#du -ah    #显示该目录所有文件大小
4.0K	./test1/1.txt
4.0K	./test1
4.0K	./test2/test2.txt
4.0K	./test2
8.0K	.

5. mkdir

用于创建目录

语法:mkdir [选项] [目录]

参数解释
-p若所建立的上层目录目前尚未建立,则会一并建立上层目录
-m建立目录的时候同时设置目录的权限
[root@c7-1 ~]#mkdir ./testdir/testdir/test.txt       #由于父目录不存在,创建失败
mkdir: cannot create directory ‘./testdir/testdir/test.txt’: No such file or directory
[root@c7-1 ~]#mkdir -p ./testdir/testdir/test.txt    #-p参数逐级创建
[root@c7-1 ~]#ls
testdir
[root@c7-1 ~]#mkdir -m 777 test1    #创建权限为777的目录
[root@c7-1 ~]#ll
total 0
drwxrwxrwx 2 root root  6 Jul 28 14:54 test1
drwxr-xr-x 3 root root 21 Jul 28 14:52 testdir

6. touch

用于修改文件或者目录的时间属性,包括存取时间和更改时间若文件不存在,系统会建立一个新的文件

语法:touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][–help][–version][文件或目录…]

参数解释
-a改变文件的读取时间记录
-m改变文件的修改时间记录
-d设定时间与日期,可以使用各种不同的格式
-t设定文件的时间记录,格式与 date 指令相同
-r使用文件的时间记录,与 --file 的效果一样
-c / --no-create假如目的文件不存在,不会建立新的文件
[root@c7-1 ~]#touch testfile    #创建名为testfile的新文件
[root@c7-1 ~]#ll testfile       #查看当前时间
-rw-r--r-- 1 root root 0 Jul 28 11:24 testfile
[root@c7-1 ~]#touch testfile    #修改文件的时间属性为当前时间
[root@c7-1 ~]#ll testfile 
-rw-r--r-- 1 root root 0 Jul 28 11:27 testfile

7. ln

为文件和目录建立连接文件,类似于windows系统的快捷方式,提高 用户定位文件或定位目录的效率

连接分为软连接和硬链接,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同

语法: ln [参数] [源文件或目录] [目标文件或目录]

参数解释
-s软链接(符号链接)
-b删除,覆盖以前建立的链接
-f强制执行
-i交互模式,文件存在则提示用户是否覆盖
-n把符号链接视为一般目录
-d允许超级用户制作目录的硬链接
-v显示详细的处理过程

软链接:
-软连接以路径的形式存在,类似于Windows操作系统中的快捷方式
-软链接可以 跨文件系统 ,硬链接不可以
-软链接可以对一个不存在的文件名进行链接
-如果删除源文件之后又重新建立源文件,那么软链接照样可以用
-软链接可以对目录进行链接
-软链接文件的大小就是软链接文件本身的文件名字符长度
硬链接:
-硬链接,以文件副本的形式存在,但不占用实际空间
-不允许给目录创建硬链接
-硬链接只有在同一个文件系统中才能创建

[root@c7-1 data]#ll
total 4
drwxr-xr-x 2 root root 19 Jul 28 17:51 test
-rw-r--r-- 1 root root 10 Jul 28 17:35 test.txt
[root@c7-1 data]#ln test.txt test.link
[root@c7-1 data]#ln -s test.txt test.soft.link
[root@c7-1 data]#ll
total 8
drwxr-xr-x 2 root root 19 Jul 28 17:51 test
-rw-r--r-- 2 root root 10 Jul 28 17:35 test.link
lrwxrwxrwx 1 root root  8 Jul 28 19:56 test.soft.link -> test.txt
-rw-r--r-- 2 root root 10 Jul 28 17:35 test.txt

8. cp

用于复制文件或目录

语法:cp [options] source… directory

参数解释
-a此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
-d复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式
-f覆盖已经存在的目标文件而不给出提示
-i与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖
-p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
-r若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
-l不复制文件,只是生成链接文件
[root@c7-1 ~]#ls
test1  test2
[root@c7-1 ~]#tree
.
├── test1
│   └── test1
└── test2
    └── test2
 
[root@c7-1 ~]#cp -r test1 test2    #递归复制test1目录到test2目录下
[root@c7-1 ~]#tree
.
├── test1
│   └── test1
└── test2
    ├── test1
    │   └── test1
    └── test2

9. rm

用于删除一个文件或者目录

语法:rm [options] name…

参数解释
-i删除前逐一询问确认
-r将目录及以下文件逐一删除
-f即使原文件属性设为只读也可直接删除,无需逐一确认
[15:21:57 root@c7-1 ~]#ls
test1  test2
[15:30:41 root@c7-1 ~]#rm -rf *
[15:30:46 root@c7-1 ~]#ls
[15:30:47 root@c7-1 ~]#

10. mv

移动目录和文件或者给目录和文件改名

语法:mv [options] source dest         mv [options] source… directory

参数解释
-b当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
-i如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
-f如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件
-n不要覆盖任何已存在的文件或目录
-u当源文件比目标文件新或者目标文件不存在时,才执行移动操作
[root@c7-1 ~]#ls
1.txt  test
[root@c7-1 ~]#mv 1.txt 2.txt    #将1.txt改名为2.txt
[root@c7-1 ~]#ls
2.txt  test
[root@c7-1 ~]#mv 2.txt ./test/  #将2.txt移动到test目录中  
[root@c7-1 ~]#tree
.
└── test
    └── 2.txt

11. which

which指令会在环境变量$PATH设置的目录里查找符合条件的文件

语法:which [-a] [命令/程序名]

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

12. find

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

语法:find path -option [-print] [-exec -ok command ] {} ;

参数解释
-name根据目标文件的名称进行查找,允许使用通配符
-size根据目标文件的大小进行查找,一般使用“+”,“-”设置大小范围作为查找条件
-user根据文件的所属用户进行查找
-type根据文件的类型进行查找(f普通文件,d目录,b块设备文件,c字符设备文件…)
-atime在过去n天内被读取过的文件
-mtime在过去n天内被修改过内容的文件
-ctime在过去n天内被修改过属性的文件
-empty空的文件
-ipath p路径名称符合 p 的文件,ipath 会忽略大小写
#查找 /var/log 目录下名为 message* 的文件
[root@c7-1 ~]#find /var/log -name "messages*"
/var/log/messages-20210725
/var/log/messages
 
#查找 /var/log 目录下名为 boot.log* 的 72 小时内内容被修改过的文件并删除
[root@c7-1 ~]#find /var/log -name "boot.log*" -mtime -3 -exec rm -rf {} \;
#查找 /var/log 目录中更改时间在 8 天以前的普通文件,并在删除之前询问它们
[root@c7-1 ~]#find /var/log -type f -mtime +7 -ok rm {} \;
#关于 “+” “-” 号的详细解释可参考https://blog.csdn.net/sunny04/article/details/51488421
 
#查找当前目录下名为 test.txt 的文件并过滤出其中“中国”的内容
[root@c7-1 ~]#ls
test.txt
[root@c7-1 ~]#find ./ -name test.txt -exec grep "中国" {} \;
中国
 
#将当前目录及子目录下的普通文件列出
[root@c7-1 data]#find ./ -type f
./1
./2
./3
./test/test
 
#查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径
[root@c7-1 ~]#find / -type f -size 0 -exec ls -l {} \;
 
#查找并列出当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
[root@c7-1 ~]#find . -type f -perm 644 -exec ls -l {} \;

总结

今天编写了一点linux常用指令中的一点皮毛,后续我会把更多的关于Linux常用指令给补上的,如文中有些许不对的地方,请私信我,我会改正的,谢谢大佬们了!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值