處理目錄和文件的幾個(gè)常用命令
- ls:展示目錄下的內(nèi)容
- cd: 切換到某個(gè)目錄下
- pwd:顯示目前的目錄
- mkdir:創(chuàng)建一個(gè)新的目錄
- rmdir:刪除一個(gè)空的目錄
- cp:復(fù)制文件或者目錄
- rm:移除文件或者目錄
1 ls命令
主要分為以下幾類(lèi)
- 文件顯示范圍
- 文件信息顯示
- 文件的排序命令
- 遞歸查詢(xún)文件
1.1 文件顯示范圍
-a 列出所有的檔案和目錄項(xiàng)目,包括.和..以及隱藏文件和目錄
[root@snrsdevapp02 migration]# ls -a
. .. old_shard_info.cfg shard_info.cfg shard_set_info.txt target_shard_info.cfg
?? -A 顯示除了隱藏文件和..及.之外的文件
[root@snrsdevapp02 migration]# ls -A
old_shard_info.cfg shard_info.cfg shard_set_info.txt target_shard_info.cfg
- 文件信息顯示
-C 多列顯示輸出結(jié)果,為默認(rèn)顯示
-m 以逗號(hào)分隔顯示
-l 單行顯示一個(gè)文件,并列出文件的詳細(xì)信息
-c 形式顯示
[root@snrsdevapp02 zedis]# ls -C
6480.conf data fusion_evaluate.sh redis-benchmark redis-check-dump redis.conf redis.conf-6579 redis-sentinel zedis-1.1.1.tgz zsh
check_load.sh dump.rdb quit redis-check-aof redis-cli redis.conf-6479 redis.conf-6679 redis-server zhuangerwei
[root@snrsdevapp02 zedis]# ls
6480.conf data fusion_evaluate.sh redis-benchmark redis-check-dump redis.conf redis.conf-6579 redis-sentinel zedis-1.1.1.tgz zsh
check_load.sh dump.rdb quit redis-check-aof redis-cli redis.conf-6479 redis.conf-6679 redis-server zhuangerwei
-m形式顯示
[root@snrsdevapp02 zedis]# ls -m
6480.conf, check_load.sh, data, dump.rdb, fusion_evaluate.sh, quit, redis-benchmark, redis-check-aof, redis-check-dump, redis-cli, redis.conf, redis.conf-6479, redis.conf-6579, redis.conf-6679,
redis-sentinel, redis-server, zedis-1.1.1.tgz, zhuangerwei, zsh
-l形式顯示
[root@snrsdevapp02 zedis]# ls -l
total 8877248
-rwxr-xr-x 1 root root 36344 Dec 26 10:29 6480.conf
-rwxrwxrwx 1 root root 3072 Apr 2 20:04 check_load.sh
drwxr-xr-x 2 root root 4096 May 14 20:08 data
-rw-r--r-- 1 root root 9061636146 Mar 6 19:50 dump.rdb
-rw-r--r-- 1 root root 7085 Apr 18 21:30 fusion_evaluate.sh
-rw-r--r-- 1 root root 21887 Dec 26 14:20 quit
-rwxr-xr-x 1 root root 4595960 Jan 22 10:54 redis-benchmark
-rwxr-xr-x 1 root root 22225 Dec 26 10:29 redis-check-aof
-rwxr-xr-x 1 root root 45443 Dec 26 10:29 redis-check-dump
-rwxr-xr-x 1 root root 4690205 Dec 26 10:29 redis-cli
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf
-rwxr-xr-x 1 root root 36337 Dec 26 14:34 redis.conf-6479
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf-6579
-rwxr-xr-x 1 root root 36331 Jan 10 19:15 redis.conf-6679
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-sentinel
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-server
-rwxr-xr-x 1 root root 6444889 Dec 26 10:29 zedis-1.1.1.tgz
-r-x------ 1 root root 0 May 9 17:36 zhuangerwei
drwxr-xr-x 5 root root 4096 Dec 26 10:29 zsh
在選擇了文件顯示范圍和文件顯示方式后,再設(shè)置文件顯示的各種屬性
1.2 文件的附屬屬性顯示
?? -F 在每個(gè)輸出項(xiàng)后追加文件的類(lèi)型標(biāo)識(shí)符,具體含義:“*”表示具有可執(zhí)行權(quán)限的普通文件,“/”表示目錄,“@”表示符號(hào)鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字
?? -d 僅僅列出目錄本身信息
[root@snrsdevapp02 zedis]# ls -ld
drwxrwxrwx 4 root root 4096 May 16 14:41 .
[root@snrsdevapp02 zedis]# ls -ld /opt/zedis/
drwxrwxrwx 4 root root 4096 May 16 14:41 /opt/zedis/
?? -lh h必須配合-l使用,在單列顯示的模式下,用人性化模式顯示文件大小個(gè)各種信息(文件大小可讀性更強(qiáng))
[root@snrsdevapp02 zedis]# ls -lh
total 8.5G
-rwxr-xr-x 1 root root 36K Dec 26 10:29 6480.conf
-rwxrwxrwx 1 root root 3.0K Apr 2 20:04 check_load.sh
drwxr-xr-x 2 root root 4.0K May 14 20:08 data
-rw-r--r-- 1 root root 8.5G Mar 6 19:50 dump.rdb
-rw-r--r-- 1 root root 7.0K Apr 18 21:30 fusion_evaluate.sh
-rw-r--r-- 1 root root 22K Dec 26 14:20 quit
-rwxr-xr-x 1 root root 4.4M Jan 22 10:54 redis-benchmark
-rwxr-xr-x 1 root root 22K Dec 26 10:29 redis-check-aof
-rwxr-xr-x 1 root root 45K Dec 26 10:29 redis-check-dump
-rwxr-xr-x 1 root root 4.5M Dec 26 10:29 redis-cli
-rwxr-xr-x 1 root root 36K Dec 26 10:29 redis.conf
-rwxr-xr-x 1 root root 36K Dec 26 14:34 redis.conf-6479
-rwxr-xr-x 1 root root 36K Dec 26 10:29 redis.conf-6579
-rwxr-xr-x 1 root root 36K Jan 10 19:15 redis.conf-6679
-rwxr-xr-x 1 root root 6.1M Dec 26 10:29 redis-sentinel
-rwxr-xr-x 1 root root 6.1M Dec 26 10:29 redis-server
-rwxr-xr-x 1 root root 6.2M Dec 26 10:29 zedis-1.1.1.tgz
-r-x------ 1 root root 0 May 9 17:36 zhuangerwei
drwxr-xr-x 5 root root 4.0K Dec 26 10:29 zsh
1.3 文件的排序命令
-t 按照修改時(shí)間進(jìn)行從新到舊的排序
-s 按照文件大小進(jìn)行顯示 -S按照文件大小進(jìn)行顯示并按從大到小進(jìn)行排序
-r 以文件名反序列排序,或者加在其他命令后面進(jìn)行反序排序
時(shí)間排序
[root@snrsdevapp02 zedis]# ls -lt
total 8877248
drwxr-xr-x 2 root root 4096 May 14 20:08 data
-r-x------ 1 root root 0 May 9 17:36 zhuangerwei
-rw-r--r-- 1 root root 7085 Apr 18 21:30 fusion_evaluate.sh
-rwxrwxrwx 1 root root 3072 Apr 2 20:04 check_load.sh
-rw-r--r-- 1 root root 9061636146 Mar 6 19:50 dump.rdb
-rwxr-xr-x 1 root root 4595960 Jan 22 10:54 redis-benchmark
-rwxr-xr-x 1 root root 36331 Jan 10 19:15 redis.conf-6679
-rwxr-xr-x 1 root root 36337 Dec 26 14:34 redis.conf-6479
-rw-r--r-- 1 root root 21887 Dec 26 14:20 quit
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf
-rwxr-xr-x 1 root root 36344 Dec 26 10:29 6480.conf
-rwxr-xr-x 1 root root 22225 Dec 26 10:29 redis-check-aof
-rwxr-xr-x 1 root root 6444889 Dec 26 10:29 zedis-1.1.1.tgz
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-sentinel
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-server
-rwxr-xr-x 1 root root 4690205 Dec 26 10:29 redis-cli
-rwxr-xr-x 1 root root 45443 Dec 26 10:29 redis-check-dump
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf-6579
drwxr-xr-x 5 root root 4096 Dec 26 10:29 zsh
時(shí)間倒序
[root@snrsdevapp02 zedis]# ls -ltr
total 8877248
drwxr-xr-x 5 root root 4096 Dec 26 10:29 zsh
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf-6579
-rwxr-xr-x 1 root root 45443 Dec 26 10:29 redis-check-dump
-rwxr-xr-x 1 root root 4690205 Dec 26 10:29 redis-cli
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-server
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-sentinel
-rwxr-xr-x 1 root root 6444889 Dec 26 10:29 zedis-1.1.1.tgz
-rwxr-xr-x 1 root root 22225 Dec 26 10:29 redis-check-aof
-rwxr-xr-x 1 root root 36344 Dec 26 10:29 6480.conf
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf
-rw-r--r-- 1 root root 21887 Dec 26 14:20 quit
-rwxr-xr-x 1 root root 36337 Dec 26 14:34 redis.conf-6479
-rwxr-xr-x 1 root root 36331 Jan 10 19:15 redis.conf-6679
-rwxr-xr-x 1 root root 4595960 Jan 22 10:54 redis-benchmark
-rw-r--r-- 1 root root 9061636146 Mar 6 19:50 dump.rdb
-rwxrwxrwx 1 root root 3072 Apr 2 20:04 check_load.sh
-rw-r--r-- 1 root root 7085 Apr 18 21:30 fusion_evaluate.sh
-r-x------ 1 root root 0 May 9 17:36 zhuangerwei
drwxr-xr-x 2 root root 4096 May 14 20:08 data
文件名倒序
[root@snrsdevapp02 zedis]# ls -lr
total 8877248
drwxr-xr-x 5 root root 4096 Dec 26 10:29 zsh
-r-x------ 1 root root 0 May 9 17:36 zhuangerwei
-rwxr-xr-x 1 root root 6444889 Dec 26 10:29 zedis-1.1.1.tgz
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-server
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-sentinel
-rwxr-xr-x 1 root root 36331 Jan 10 19:15 redis.conf-6679
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf-6579
-rwxr-xr-x 1 root root 36337 Dec 26 14:34 redis.conf-6479
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf
-rwxr-xr-x 1 root root 4690205 Dec 26 10:29 redis-cli
-rwxr-xr-x 1 root root 45443 Dec 26 10:29 redis-check-dump
-rwxr-xr-x 1 root root 22225 Dec 26 10:29 redis-check-aof
-rwxr-xr-x 1 root root 4595960 Jan 22 10:54 redis-benchmark
-rw-r--r-- 1 root root 21887 Dec 26 14:20 quit
-rw-r--r-- 1 root root 7085 Apr 18 21:30 fusion_evaluate.sh
-rw-r--r-- 1 root root 9061636146 Mar 6 19:50 dump.rdb
drwxr-xr-x 2 root root 4096 May 14 20:08 data
-rwxrwxrwx 1 root root 3072 Apr 2 20:04 check_load.sh
-rwxr-xr-x 1 root root 36344 Dec 26 10:29 6480.conf
文件由大到小
[root@snrsdevapp02 zedis]# ls -lS
total 8877248
-rw-r--r-- 1 root root 9061636146 Mar 6 19:50 dump.rdb
-rwxr-xr-x 1 root root 6444889 Dec 26 10:29 zedis-1.1.1.tgz
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-sentinel
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-server
-rwxr-xr-x 1 root root 4690205 Dec 26 10:29 redis-cli
-rwxr-xr-x 1 root root 4595960 Jan 22 10:54 redis-benchmark
-rwxr-xr-x 1 root root 45443 Dec 26 10:29 redis-check-dump
-rwxr-xr-x 1 root root 36344 Dec 26 10:29 6480.conf
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf
-rwxr-xr-x 1 root root 36337 Dec 26 14:34 redis.conf-6479
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf-6579
-rwxr-xr-x 1 root root 36331 Jan 10 19:15 redis.conf-6679
-rwxr-xr-x 1 root root 22225 Dec 26 10:29 redis-check-aof
-rw-r--r-- 1 root root 21887 Dec 26 14:20 quit
-rw-r--r-- 1 root root 7085 Apr 18 21:30 fusion_evaluate.sh
drwxr-xr-x 2 root root 4096 May 14 20:08 data
drwxr-xr-x 5 root root 4096 Dec 26 10:29 zsh
-rwxrwxrwx 1 root root 3072 Apr 2 20:04 check_load.sh
-r-x------ 1 root root 0 May 9 17:36 zhuangerwei
文件由小到大
[root@snrsdevapp02 zedis]# ls -lSr
total 8877248
-r-x------ 1 root root 0 May 9 17:36 zhuangerwei
-rwxrwxrwx 1 root root 3072 Apr 2 20:04 check_load.sh
drwxr-xr-x 5 root root 4096 Dec 26 10:29 zsh
drwxr-xr-x 2 root root 4096 May 14 20:08 data
-rw-r--r-- 1 root root 7085 Apr 18 21:30 fusion_evaluate.sh
-rw-r--r-- 1 root root 21887 Dec 26 14:20 quit
-rwxr-xr-x 1 root root 22225 Dec 26 10:29 redis-check-aof
-rwxr-xr-x 1 root root 36331 Jan 10 19:15 redis.conf-6679
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf-6579
-rwxr-xr-x 1 root root 36337 Dec 26 14:34 redis.conf-6479
-rwxr-xr-x 1 root root 36337 Dec 26 10:29 redis.conf
-rwxr-xr-x 1 root root 36344 Dec 26 10:29 6480.conf
-rwxr-xr-x 1 root root 45443 Dec 26 10:29 redis-check-dump
-rwxr-xr-x 1 root root 4595960 Jan 22 10:54 redis-benchmark
-rwxr-xr-x 1 root root 4690205 Dec 26 10:29 redis-cli
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-server
-rwxr-xr-x 1 root root 6307489 Dec 26 10:29 redis-sentinel
-rwxr-xr-x 1 root root 6444889 Dec 26 10:29 zedis-1.1.1.tgz
-rw-r--r-- 1 root root 9061636146 Mar 6 19:50 dump.rdb
1.4 遞歸查詢(xún)文件
-R 這個(gè)命令可以遞歸查詢(xún)出此目錄下的所有目錄
[root@snrsdevapp02 zedis]# ls -R
.:
6480.conf dump.rdb redis-benchmark redis-cli redis.conf-6579 redis-server zsh
check_load.sh fusion_evaluate.sh redis-check-aof redis.conf redis.conf-6679 zedis-1.1.1.tgz
data quit redis-check-dump redis.conf-6479 redis-sentinel zhuangerwei
./data:
dump6480.rdb dump.rdb passport_prd_master_2.rdb
./zsh:
6380.log 6381 6381.log data pack redis-10.37.152.215-6380.conf redis-6380.conf redis-6381.conf redis.conf
./zsh/6381:
6381.log dump-6381.rdb
./zsh/data:
6380.log dump-6380.rdb temp-1510467718.1494.rdb
./zsh/pack:
Ardb_1.1.1.zip bin etc lib log rocksdata
./zsh/pack/bin:
ardb-repair ardb-server ardb-test
./zsh/pack/etc:
ardb.conf
./zsh/pack/lib:
libstdc++.so.6.0.18
./zsh/pack/log:
./zsh/pack/rocksdata:
1.5 特定的命令
--full-time顯示完整時(shí)間
--color不同的類(lèi)型顯示不同顏色
2 CD命令
cd命令的參數(shù)不多,大致為以下幾種
cd 進(jìn)入用戶主目錄
cd ~ 進(jìn)入用戶主目錄
cd - 返回OLDPWD的目錄,即進(jìn)入目錄前的pwd
cd .. 返回上一級(jí)
cd ../.. 返回上兩級(jí)
進(jìn)入用戶主目錄
[root@snrsdevapp02 zedis]# cd
[root@snrsdevapp02 ~]# ls
089f3b46de0aa6d8f72445d5506a15e8 backup
26370.log cabd75363d13e9f246d27ad6bc621e2f
26371.log e3dc2691365cd48ec7dca471fe5913b5
26372.log install.log
6370.log install.log.syslog
6371.log ngredisshard.lua
6380.log redis-4.0.2
6381.log redis-4.0.2.tar.gz
6af8f84e599cb9aa41308ddfd7b8c0c1 repl
96896008950dea47b2b56d8afa59dc0c rocksdb
anaconda-ks.cfg ???????????????v1.1.zip
[root@snrsdevapp02 ~]# pwd
/root
[root@snrsdevapp02 ~]# cd ~
[root@snrsdevapp02 ~]# ls
089f3b46de0aa6d8f72445d5506a15e8 backup
26370.log cabd75363d13e9f246d27ad6bc621e2f
26371.log e3dc2691365cd48ec7dca471fe5913b5
26372.log install.log
6370.log install.log.syslog
6371.log ngredisshard.lua
6380.log redis-4.0.2
6381.log redis-4.0.2.tar.gz
6af8f84e599cb9aa41308ddfd7b8c0c1 repl
96896008950dea47b2b56d8afa59dc0c rocksdb
anaconda-ks.cfg ???????????????v1.1.zip
返回進(jìn)入目錄前所在pwd
[root@snrsdevapp02 ~]# cd /
[root@snrsdevapp02 /]# cd /opt/zedis/
[root@snrsdevapp02 zedis]# cd -
/
[root@snrsdevapp02 /]#
返回上一級(jí)和上兩級(jí)目錄
[root@snrsdevapp02 /]# cd /opt/zedis/
[root@snrsdevapp02 zedis]# cd ../
[root@snrsdevapp02 opt]# pwd
/opt
[root@snrsdevapp02 opt]# cd /opt/zedis/
[root@snrsdevapp02 zedis]# cd ../..
[root@snrsdevapp02 /]# pwd
/
3 pwd命令
主要注意的是完整路徑和連接路徑
pwd命令本身會(huì)輸出連接檔
pwd -P是強(qiáng)制輸出全路徑
4 mkdir 創(chuàng)建目錄
- -m 可以配置文件的權(quán)限,配合之前的數(shù)字權(quán)限配置比較方便
- -p 可以一次性遞歸創(chuàng)建出相應(yīng)的路徑
[root@snrsdevapp02 zedis]# mkdir test
不加權(quán)限設(shè)置創(chuàng)建出來(lái)的權(quán)限為755
[root@snrsdevapp02 zedis]# ll -t
total 8877252
drwxr-xr-x 2 root root 4096 May 16 16:39 test
創(chuàng)建并設(shè)置權(quán)限為700
[root@snrsdevapp02 zedis]# mkdir -m 700 test
[root@snrsdevapp02 zedis]# ll -t
total 8877252
drwx------ 2 root root 4096 May 16 16:42 test
創(chuàng)建遞歸的路徑
[root@snrsdevapp02 zedis]# mkdir -p test/test1/test2
[root@snrsdevapp02 zedis]# ls -lR test
test:
total 4
drwxr-xr-x 3 root root 4096 May 16 16:43 test1
test/test1:
total 4
drwxr-xr-x 2 root root 4096 May 16 16:43 test2
test/test1/test2:
total 0
5 刪除文件或者目錄
- rm:刪除文件,也可用來(lái)刪除目錄
- rmdir: 刪除空的目錄
5.1 rm命令
默認(rèn)為詢(xún)問(wèn)模式
-f 強(qiáng)制刪除不需要詢(xún)問(wèn)
-r遞歸刪除,非常危險(xiǎn)的選項(xiàng)
強(qiáng)制刪除
[root@snrsdevapp02 zedis]# ll -t
-rw-r--r-- 1 root root 5 May 16 17:06 abc
drwxr-xr-x 2 root root 4096 May 14 20:08 data
[root@snrsdevapp02 zedis]# rm -f abc
[root@snrsdevapp02 zedis]# ll -t
drwxr-xr-x 2 root root 4096 May 14 20:08 data
遞歸刪除
[root@snrsdevapp02 zedis]# mkdir -p test/test1/test2
[root@snrsdevapp02 zedis]# ll -lR test
test:
total 4
drwxr-xr-x 3 root root 4096 May 16 17:09 test1
test/test1:
total 4
drwxr-xr-x 2 root root 4096 May 16 17:09 test2
test/test1/test2:
total 0
[root@snrsdevapp02 zedis]# rm -rf test/
[root@snrsdevapp02 zedis]# ll -t
total 8877248
drwxr-xr-x 2 root root 4096 May 14 20:08 data
5.2 rmdir刪除空目錄
-p 遞歸刪除路徑上所有的非空目錄
[root@snrsdevapp02 zedis]# mkdir -p test/test1/test2
[root@snrsdevapp02 zedis]# ls -lR test
test:
total 4
drwxr-xr-x 3 root root 4096 May 16 16:58 test1
test/test1:
total 4
drwxr-xr-x 2 root root 4096 May 16 16:58 test2
test/test1/test2:
total 0
[root@snrsdevapp02 zedis]# rmdir -p test/test1/test2/
[root@snrsdevapp02 zedis]# ls
6480.conf redis-check-aof redis-sentinel
check_load.sh redis-check-dump redis-server
data redis-cli zedis-1.1.1.tgz
dump.rdb redis.conf zhuangerwei
fusion_evaluate.sh redis.conf-6479 zsh
quit redis.conf-6579
redis-benchmark redis.conf-6679