Linux 常用命令 持续更新

Linux 常用命令 持续更新

  • 【ls】 命令:用于显示目录内容。

[wfsb@yes zzz]$ ls -l 【列表显示】
total 44
-rwxrwxrwx 1 root     root     0 Feb 18 09:33 a.sh
-rw-rw-r-- 1 wfsb wfsb 2 Nov 19 09:36 a.txt
[wfsb@yes zzz]$ ls -lr 【按文件名倒序显示】
total 44
drwxr-xr-x 2 root     root     6 Feb 18 09:33 zzz
drwxr-xr-x 2 root     root     6 Feb 18 09:41 www
[wfsb@yes zzz]$ ls -lt 【按文件时间倒序显示】
total 44
drwxr-xr-x 2 root     root     6 Feb 18 09:41 www
drwxr-xr-x 2 root     root     6 Feb 18 09:33 zzz
[wfsb@yes zzz]$ ls -lS 【按文件大小排序显示】
total 44
drwxr-xr-x 2 root     root     6 Feb 18 09:41 www
drwxr-xr-x 2 root     root     6 Feb 18 09:33 zzz
[wfsb@yes zzz]$ ls -lh 【按文件大小以人类较易读的方式(例如 GB, KB 等等)列出来】
total 44K
-rwxrwxrwx 1 root     root     1G  Feb 18 09:33 a.sh
-rw-rw-r-- 1 wfsb wfsb 2MB Nov 19 09:36 a.txt
[wfsb@yes zzz]$ ls -rlth --full-time 【显示文件详细日期时间】
total 44K
-rw-rw-r-- 1 wfsb wfsb 2 2021-09-07 10:34:17.304856086 +0800 file_6.txt
  • 【cp】 命令:cp(copy)命令用于复制文件。

cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp test /tmp 将test文件复制到目录/tmp下
cp -p test /tmp 连同test文件的属性(权限、用户、时间)一起复制到/tmp目录下,而非使用默认属性

cp -p a.txt b.txt
[wfsb@yes zzz]$ ll
-rw-rw-r-- 1 wfsb wfsb 2 Nov 19 09:36 a.txt
-rw-rw-r-- 1 wfsb wfsb 2 Nov 19 09:36 b.txt

cp -r zzz/ www/ 【-r 递归复制目录】
[wfsb@yes zzz]$ tree www
www
└── zzz
    └── a.ttxt

1 directory, 1 file

cp -u test /tmp/test 【-u是在目标文件和源文件有差异时,才会复制。】
cp www/file_2.txt .【将文件复制到当前目录】
  •  【rm】 命令:rm(remove)用于删除文件或目录。

rm a.sh 删除a.sh文件。
rm -f a.txt 强制删除a.txt文件。
rm -r zzz/ 递归删除zzz目录。
rm -rf www/ 强制递归删除www目录。
  • 【mv】 命令:mv(move)用于移动文件与目录,或更名。

mv a.txt b.txt 将a.txt 更名为b.txt。
mv file_1.txt file_2.txt www/ 将文件file_1.txt和file_2.txt移动到目录www/中。
  • 【cd】 命令:cd是Change Directory的缩写,用于切换目录。

cd   切换到自己的主文件夹(进入用户在该系统的home目录)
cd ~ 切换到自己的主文件夹(进入用户在该系统的home目录)
cd ~hehe 切换到hehe的主文件夹
cd .. 切换到当前目录的上一层目录
cd - 切换到上一次使用的目录
cd /var/spool/mail 切换到/var/spool/mail(绝对路径写法)
cd ../spool 切换到上一层spool(相对路径写法)
  • 【pwd】 命令:pwd是Print Working Directory的缩写,用于显示目前所在目录。

pwd [-P]
选项与参数:
-L:显示当前目录,有链接文件时,直接显示链接文件的目录,(不加参数时默认此方式)
-P:显示出实际的目录,而非使用软链接(link)的目录。

[wfsb@yes ~]$ ll tt
lrwxrwxrwx 1 root root 08 Dec 11 23:46 tt -> /home/wfsb/test
[wfsb@yes ~]$ cd tt
[wfsb@yes tt]$ pwd
/home/wfsb/tt
[wfsb@yes tt]$ pwd -P
/home/wfsb/test
[wfsb@yes tt]$ pwd -L
/home/wfsb/tt
  • 【mkdir】 命令:mkdir是make directory的缩写,用于创建目录。

mkdir test 创建一个名为test的目录。
mkdir test2 test3 同时创建两个目录。
mkdir -p test1/test2/test3/ 同时创建多层目录。
mkdir -m 777 test4 创建权限为777的目录。
  • 【rmdir】 命令:rmdir是remove directory的缩写,用于删除“空”目录。

rmdir test 删除test空目录。
rmdir -p z4/z5/ 删除多层空目录。
  • 【tree】命令:用于显示树状图目录的内容。

-a 显示所有文件和目录。
[wfsb@yes ~]$ tree zzz -a
zzz
├── a.txt
├── file_10.txt
└── file_9.txt

0 directories, 11 files

-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。

[wfsb@yes ~]$ tree zzz -A
zzz
tqq a.txt
tqq file_10.txt
mqq file_9.txt

0 directories, 11 files

-C 在文件和目录清单加上色彩,便于区分各种类型。

[wfsb@yes ~]$ tree zzz -C
zzz
├── a.txt
├── file_10.txt
└── file_9.txt

0 directories, 11 files

-d 显示目录名称而非内容。

[wfsb@yes ~]$ tree zzz -d
zzz

0 directories

-D 列出文件或目录的更改时间。

[wfsb@yes ~]$ tree zzz -D
zzz
├── [Nov 11  9:36]  a.txt
├── [Sep  2 10:34]  file_10.txt
└── [Sep  2 10:34]  file_9.txt

0 directories, 11 files

-f 在每个文件或目录之前,显示完整的相对路径名称。

[wfsb@yes ~]$ tree zzz -f
zzz
├── zzz/a.txt
├── zzz/file_10.txt
└── zzz/file_9.txt

0 directories, 11 files

-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。

[wfsb@yes ~]$ tree zzz -F
zzz
├── a.sh*
├── a.txt
├── file_10.txt
├── file_9.txt
└── zzz/

1 directory, 12 files

-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。

[wfsb@yes ~]$ tree zzz -g
zzz
├── [root    ]  a.sh
├── [wfsb]  a.txt
├── [wfsb]  file_10.txt
├── [wfsb]  file_9.txt
└── [root    ]  zzz

1 directory, 12 files

-i 不以阶梯状列出文件或目录名称。

[wfsb@yes ~]$ tree zzz -i
zzz
a.sh
a.txt
file_10.txt
file_9.txt
zzz

1 directory, 12 files

-L level 限制目录显示层级

[wfsb@yes ~]$ tree zzz -L 1
zzz
├── a.sh
├── a.txt
├── file_10.txt
├── file_9.txt
└── zzz

1 directory, 12 files

-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。

[wfsb@yes ~]$ tree zzz -l
zzz
├── a.sh
├── a.txt
├── file_10.txt
├── file_9.txt
└── zzz

1 directory, 12 files

-n 不在文件和目录清单加上色彩。

[wfsb@yes ~]$ tree zzz -n
zzz
├── a.sh
├── a.txt
├── file_10.txt
├── file_9.txt
└── zzz

1 directory, 12 files

-N 直接列出文件和目录名称,包括控制字符。

[wfsb@yes ~]$ tree zzz -N
zzz
├── a.sh
├── a.txt
├── file_10.txt
├── file_9.txt
└── zzz

1 directory, 12 files

-p 列出权限标示。

[wfsb@yes ~]$ tree zzz -p
zzz
├── [-rwxrwxrwx]  a.sh
├── [-rw-rw-r--]  a.txt
├── [-rw-rw-r--]  file_10.txt
├── [-rw-rw-r--]  file_9.txt
└── [drwxr-xr-x]  zzz

1 directory, 12 files

-P<范本样式> 只显示符合范本样式的文件或目录名称。

[wfsb@yes zzz]$ tree -P z*
.
└── zzz

1 directory, 0 files

-q 用"?"号取代控制字符,列出文件和目录名称。

[wfsb@yes zzz]$ tree -q ww?
www

0 directories, 0 files

-s 列出文件或目录大小。

[wfsb@yes zzz]$ tree -s
.
├── [          0]  a.sh
├── [          2]  a.txt
├── [          3]  file_10.txt
├── [          2]  file_9.txt
├── [          6]  www
└── [          6]  zzz

2 directories, 12 files

-t 用文件和目录的更改时间排序。

[wfsb@yes zzz]$ tree -t
.
├── www
├── zzz
├── a.sh
├── a.txt
├── file_10.txt
└── file_9.txt

2 directories, 12 files

-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。

[wfsb@yes zzz]$ tree -u
.
├── [root    ]  a.sh
├── [wfsb]  a.txt
├── [wfsb]  file_10.txt
├── [wfsb]  file_9.txt
├── [root    ]  www
└── [root    ]  zzz

2 directories, 12 files

-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

[wfsb@yes zzz]$ tree -x
.
├── a.sh
├── a.txt
├── file_10.txt
├── file_9.txt
├── www
└── zzz
  • 【crontab】 命令:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

	*    *    *    *    *    
	-    -    -    -    -    
	|    |    |    |    |    
	|    |    |    |    +----- 星期几 (0 - 7) (Sunday=0 or 7)
	|    |    |    +---------- 月份 (1 - 12)
	|    |    +--------------- 几号 (1 - 31)
	|    +-------------------- 小时 (0 - 23)
	+------------------------- 分钟 (0 - 59)

crontab -l; 查看当前定时任务。
crontab -e; 编辑定时任务。

crontab例子:

# 每天1点删除30天前创建的文件
0 1 * * * sudo find /aaa/share/bbb/ccc_bak -maxdepth 1 -type d -mtime +29 -exec rm -rf {} \;
# 每两分钟执行一次脚本
*/2 * * * * /bin/bash /root/aaa.sh
# 每周六删除目录 /share 30天前创建的文件
0 0 * * 6 sudo find /share -type f -mtime +29 -exec rm -f {} \;
# 8点、11点、14点、17点 切换hehe用户执行脚本
0 8,11,14,17 * * * su hehe -s /bin/bash /usr/local/ccc.sh 
# 每天的22:30 执行test.sh
30 22 * * * /bin/bash /usr/local/test.sh  
# 每月1、10、15日的4 : 15执行test.sh
15 4 1,10,15 * * /bin/bash /usr/local/test.sh  
# 每周六、周日的1 : 10执行test.sh
10 1 * * 6,0 /bin/bash /usr/local/test.sh  
# 每天18 : 00至22 : 00之间每隔30分钟执行test.sh
0,30 18-22 * * * /bin/bash /usr/local/test.sh  
# 表示每星期六的23点执行test.sh
0 23 * * 6 /bin/bash /usr/local/test.sh  
# 每一小时执行test.sh
0 */1 * * * /bin/bash /usr/local/test.sh  
# 晚上11点到早上7点之间,每隔一小时执行test.sh
0 23-7/1 * * * /bin/bash /usr/local/test.sh  
# 每月的5号与每周一到周三的12点执行test.sh
0 12 5 * mon-wed /bin/bash /usr/local/test.sh  
#  一月一号的10点执行test.sh
0 10 1 jan * /bin/bash /usr/local/test.sh 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值