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