1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
常用的文件管理類命令有:復制、移動、刪除文件及目錄
復制:cp命令
格式:cp [選項] SRC DEST
常用選項:
-r 源文件應為目錄文件,遞歸復制目錄及目錄內的所有文件到指定路徑下。
如果指定目標文件為目錄且目錄存在,則將源文件復制到目標目錄下;如果目標目錄不存在,則創建指定目錄,并復制 源文件中所有內容至指定目錄中。
-a 歸檔復制,復制源文件所有信息,包含元數據。
[root@centos01 newtmp]# ll /tmp
總用量 40
-rw-r–r–. 1 root root 19295 6月 15 11:27 functions
drwxr-xr-x. 2 root root 4096 6月 7 11:49 hsperfdata_root
drwx——. 2 root root 4096 11月 11 2015 keyring-NRt8Tq
srwxrwxrwx. 1 mysql mysql 0 4月 26 14:47 mysql.sock
-rw-r–r–. 1 root root 54 6月 15 15:24 numbers.txt
drwx——. 2 gdm gdm 4096 4月 7 19:56 orbit-gdm
drwx——. 2 gdm gdm 4096 4月 7 19:56 pulse-4VYwNbp3K8ID
[root@centos01 newtmp]# ll
總用量 0
[root@centos01 newtmp]# cp -r /tmp /root/newtmp/
[root@centos01 newtmp]# ll
總用量 4
drwxr-xr-t. 8 root root 4096 6月 15 15:38 tmp
[root@centos01 newtmp]# rm -rf tmp/
[root@centos01 newtmp]# cd ..
[root@centos01 ~]# rm -rf newtmp/
[root@centos01 ~]# cp -r /tmp /root/newtmp/
[root@centos01 ~]# ll
[root@centos01 ~]# cd newtmp/
[root@centos01 newtmp]# ll
總用量 40
-rw-r–r–. 1 root root 19295 6月 15 15:38 functions
drwxr-xr-x. 2 root root 4096 6月 15 15:38 hsperfdata_root
drwx——. 2 root root 4096 6月 15 15:38 keyring-NRt8Tq
srwxr-xr-x. 1 root root 0 6月 15 15:38 mysql.sock
-rw-r–r–. 1 root root 54 6月 15 15:38 numbers.txt
drwx——. 2 root root 4096 6月 15 15:38 orbit-gdm
drwx——. 2 root root 4096 6月 15 15:38 pulse-4VYwNbp3K8ID
移動:mv命令
格式:mv [選項] SRC DEST
功能:移動或重命名文件或目錄
刪除:rm命令
格式:rm [選項] FILE|DIRECTORY
常用選項:
-f 強制刪除
-i 交互
-r 遞歸刪除目錄及其下所有文件
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令狀態返回值是指: 執行一條命令,只有兩種結果,成功或失敗,在Linux中有一個特殊的變量$?用來查看命令執行成功與否,執行成功返回0,執行失敗返回1-127之間的數字
ls命令查看一個不存在的文件:
[root@centos01 ~]# ls 123
ls: 無法訪問123: 沒有那個文件或目錄
[root@centos01 ~]# echo $?
2
ls命令查看一個存在目錄
[root@centos01 ~]# ls /tmp
functions hsperfdata_root keyring-NRt8Tq mysql.sock numbers.txt orbit-gdm pulse-4VYwNbp3K8ID
[root@centos01 ~]# echo $?
0
命令行展開分以下幾類
~:展開為用戶的家目錄,例如 cd ~user1 表示切換至user1的家目錄
{}:中間使用逗號隔開,可將其展開為多個路徑或文件
例如:/tmp/{a,b}_{c,d}展開為/tmp/a_c /tmp/a_d /tmp/b_c /tmp/b_d
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
touch /tmp/{a,b}_{c,d}
(2)、創建/tmp/mylinux目錄下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
mkdir -p /tmp/mylinux/{b{in,oot/grub},dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib{/modules,64},proc,s{bin,ys},tmp,usr/local/{bin,sbin},var/{lock,log,run}}
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的元數據包含:文件屬主、屬組,訪問權限,文件名,文件大小,文件的Inode,訪問時間,修改時間,改變時間
touch -m|a TIMESTAMP
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias ll='ls -al'
使用“或者$()引用另一個命令的結果 如kill `cat /usr/local/nginx/logs/nginx.pid`
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls -a /var|grep "^1.*[0-9]\+.*[a-z]$"
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls -a /etc|grep "^[0-9].*[^0-9]$"
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls -al /etc | grep "^[^[:alpha:]][[:alpha:]].*"
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-`date +%F-%H-%M-%S`
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
mkdir /tmp/mytest1
cd /etc
cp -r `ls -a /etc | grep "^p.*[^0-9]$"` /tmp/mytest1/
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
mkdir /tmp/mytest2
cd /etc
cp -r `ls -a |grep "\.d$"` /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
mkdir /tmp/mytest3
cd /etc
cp -r `ls -a |grep "^[1mn].*\.conf$"` /tmp/mytest3
原創文章,作者:pandamir,如若轉載,請注明出處:http://www.www58058.com/18371
寫的很棒,案例還可以在多點,可以多關注一下排版,12題在仔細看一下,有點小瑕疵