linux基础命令(一)
1.目录管理
1.1 ls
# ls 列出当前工作目录下的内容
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd test
# -l 以长格式显示(ls -l,可以简写为ll)
[root@zzd ~]# ls -l
total 16
drwxr-xr-x. 5 root root 33 Jun 29 14:42 a
-rw-------. 1 root root 1081 Jun 29 16:28 anaconda-ks.cfg
-rw-r--r--. 1 root root 39 Jun 29 09:25 date.sh
-rw-r--r--. 1 root root 1070 Jun 28 11:43 passwd
-rw-r--r--. 1 root root 82 Jun 28 12:02 test
# -h 以人类友好方式显示(做单位转换,需要与选项-l一起使用,ls -lh或者ll -h)
[root@zzd ~]# ls -lh
total 16K
drwxr-xr-x. 5 root root 33 Jun 29 14:42 a
-rw-------. 1 root root 1.1K Jun 29 16:28 anaconda-ks.cfg
-rw-r--r--. 1 root root 39 Jun 29 09:25 date.sh
-rw-r--r--. 1 root root 1.1K Jun 28 11:43 passwd
-rw-r--r--. 1 root root 82 Jun 28 12:02 test
# -a 显示隐藏文件(ls -a)
[root@zzd ~]# ls -a
. .. a anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc date.sh passwd .tcshrc test .viminfo
#(. 表示当前目录 | .. 表示父级目录)
# -d 显示文件自身属性(与选项-l一起使用,ls -l或者ll -d)
[root@zzd ~]# ll -d
dr-xr-x---. 3 root root 201 Jun 29 16:39 .
# -i 显示文件的inode(ls -i)
[root@zzd ~]# ls -i
51019884 a 33575045 anaconda-ks.cfg 33575999 date.sh 33575985 passwd 33578281 test
[root@zzd ~]# ll -i
total 16
51019884 drwxr-xr-x. 5 root root 33 Jun 29 14:42 a
33575045 -rw-------. 1 root root 1081 Jun 29 16:28 anaconda-ks.cfg
33575999 -rw-r--r--. 1 root root 39 Jun 29 09:25 date.sh
33575985 -rw-r--r--. 1 root root 1070 Jun 28 11:43 passwd
33578281 -rw-r--r--. 1 root root 82 Jun 28 12:02 test
# -r 逆序显示(ll -r)
# 默认显示
[root@zzd ~]# ll
total 16
drwxr-xr-x. 5 root root 33 Jun 29 14:42 a
-rw-------. 1 root root 1081 Jun 29 16:28 anaconda-ks.cfg
-rw-r--r--. 1 root root 39 Jun 29 09:25 date.sh
-rw-r--r--. 1 root root 1070 Jun 28 11:43 passwd
-rw-r--r--. 1 root root 82 Jun 28 12:02 test
#逆序显示
[root@zzd ~]# ll -r
total 16
-rw-r--r--. 1 root root 82 Jun 28 12:02 test
-rw-r--r--. 1 root root 1070 Jun 28 11:43 passwd
-rw-r--r--. 1 root root 39 Jun 29 09:25 date.sh
-rw-------. 1 root root 1081 Jun 29 16:28 anaconda-ks.cfg
drwxr-xr-x. 5 root root 33 Jun 29 14:42 a
1.2 cd
# cd 切换当前工作目录
[root@zzd ~]# pwd
/root
[root@zzd ~]# cd /etc/
[root@zzd etc]# pwd
/etc
1.3 pwd
# pwd 打印当前工作目录
[root@zzd etc]# pwd
/etc
1.4 mkdir
# mkdir 创建目录
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd test
[root@zzd ~]# mkdir zzd
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd test zzd
# -p 自动创建父级目录,一次性创建多级目录的时候,若是父级目录不存在,则会创建失败,选项-p可以解决这个问题(mkdir -p)
[root@zzd opt]# ls
[root@zzd opt]# mkdir -p zzd/{123,456}
[root@zzd opt]# ls
zzd
[root@zzd opt]# ls zzd/
123 456
1.5 tree
# tree 查看目录树 (需要安装,安装命令:dnf -y install tree)
[root@zzd ~]# tree /opt/
/opt/
└── zzd
├── 123
└── 456
3 directories, 0 files
2.文件管理
2.1 touch
# touch 无中生有 万象更新
[root@zzd ~]# ll anaconda-ks.cfg
-rw-------. 1 root root 1081 Jun 29 16:28 anaconda-ks.cfg
[root@zzd ~]# touch anaconda-ks.cfg
[root@zzd ~]# ll anaconda-ks.cfg
-rw-------. 1 root root 1081 Jun 29 19:10 anaconda-ks.cfg
[root@zzd ~]# touch 1.txt
[root@zzd ~]# ls
1.txt a anaconda-ks.cfg date.sh passwd test zzd
2.2 stat
# stat 显示文件或文件系统的状态
[root@zzd ~]# stat anaconda-ks.cfg
File: anaconda-ks.cfg
Size: 1081 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 33575045 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2022-06-29 19:10:07.115115284 +0800
Modify: 2022-06-29 19:10:07.115115284 +0800
Change: 2022-06-29 19:10:07.115115284 +0800
Birth: -
2.3 rm
rm 删除文件或目录
[root@zzd ~]# ls
1.txt a anaconda-ks.cfg date.sh passwd test zzd
[root@zzd ~]# rm 1.txt
rm: remove regular empty file '1.txt'? y
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd test zzd
# -f 强制删除(rm -f fil)
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd test zzd
[root@zzd ~]# rm -f test
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd zzd
# -r 删除目录必须带上这个选项(rm -rf dir)
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd zzd
[root@zzd ~]# rm -rf zzd/
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd
2.4 cp
# cp 复制文件(单个文件到单个文件,多个文件到目录,目录到目录)
[root@zzd ~]# cp anaconda-ks.cfg /opt/
[root@zzd ~]# ll /opt/
total 4
-rw-------. 1 root root 1081 Jun 29 19:25 anaconda-ks.cfg
drwxr-xr-x. 4 root root 28 Jun 29 19:02 zzd
# -a 归档复制,常用于备份
# -p 拷贝时保留原权限
# -r 递归拷贝,拷贝目录时必须使用此选项
[root@zzd ~]# cp -r a /opt/
[root@zzd ~]# tree /opt/
/opt/
├── a
│ ├── b
│ │ ├── haha
│ │ │ └── zic
│ │ ├── huhu
│ │ │ └── zic
│ │ └── xixi
│ │ ├── 465
│ │ │ └── zic
│ │ └── 789
│ │ └── zic
│ ├── c
│ └── d
│ └── hi
│ └── zic
├── anaconda-ks.cfg
└── zzd
├── 123
└── 456
18 directories, 1 file
2.5 mv
# mv 移动文件,重命名
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh passwd
[root@zzd ~]# mv passwd pas
[root@zzd ~]# ls
a anaconda-ks.cfg date.sh pas
[root@zzd ~]# mv pas /opt
[root@zzd ~]# ls /opt/
pas zzd