1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
cp,mv,rm,cd,pwd,ls,mkdir,rmdir,tree
(1)復制命令:cp
格式: cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE.. 1、cp SRC DEST SRC是文件 如果目標不存在,新建DEST,并將SRC中內容填充至DEST中 如果目標存在: 如果DEST是文件,將SRC中內容覆蓋至DEST中; 此時建議為cp命令使用-i選項 如果DEST是目錄,在DEST下新建與源文件同名的文件,并將SRC中內容填充至新文件夾中 2、cp SRC... DEST SRC...:多個文件 DEST必須存在,且為目錄,其它情形均為錯 3、cp SRC DEST SRC是目錄,則使用選項: -r 如果DEST不存在,報錯 如果DEST存在: 如果DEST是文件:報錯 如果DEST是目錄:將SRC復制至DEST目錄
常用選項: -i:交互式 -r,R:遞歸復制目錄及內部的所有內容 -a:歸檔 -d:--no-deference --preserv=links --preserv-[ATTR_LIST] mode:權限 ownership:屬主屬組 timestamp: links xattr context all -p:--preserv=mode,ownership,timestamp -v:--verbose -f:--force
(2)移動文件 mv:move
格式: mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
常用選項: -i:交互式 -f:強制
(3)刪除 rm:remove
格式: rm [OPTION]... FILE... 常用選項: -i:交互式 -f:強制 -r:遞歸
(4)cd
功能:Change the shell working directory. #切換工作目錄 常用實例: cd ~#回到當前用戶的主目錄 cd -#在上一個目錄和當前目錄之間來回切換 cd ~USERNAME#切換至指定用戶的家目錄
(5)pwd
功能:打印當前工作目錄的路徑 實例:pwd#顯示當前工作目錄的路徑
(6)ls
功能:list directory contents#列目錄內容 格式:ls [OPTION]... [FILE]... 選項: -a, --all do not ignore entries starting with .#顯示所有文件,包括隱藏文件、.和.. -A, --almost-all do not list implied . and ..#顯示除“.”和“..”之外的所有文件 -d, --directory list directory entries instead of contents, and do not dereference symbolic links #當遇到目錄時列出目錄本身而不是目錄內的文件 -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) #配置-l,以易于閱讀的格式輸出文件大?。ɡ?K 234M 2G) --si likewise, but use powers of 1000 not 1024 -i, --inode print the index number of each file#顯示每個文件的inode號 -l use a long listing format#以長格式顯示文件信息 -o like -l, but do not list group information -p, --indicator-style=slash#對目錄加上表示符號“/”。 -r, --reverse reverse order while sorting#逆序排序 -R, --recursive list subdirectories recursively#遞歸顯示子目錄 -s, --size print the allocated size of each file, in blocks #以塊數形式顯示每個文件分配尺寸 -S sort by file size#以文件大小排序 -t sort by modification time#根據修改時間排序 -T, --tabsize=COLS assume tab stops at each COLS instead of 8 #設置制表符的寬度
(7)mkdir
功能:創建目錄 格式:mkdir [OPTION]... DIRECTORY... -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask #設置權限模式(類似chmod),而不是rwxrwxrwx - umask -p, --parents no error if existing, make parent directories as needed #已經存在的目錄不報錯,且可自動創建所需的各目錄 -v, --verbose print a message for each created directory #顯示創建每個目錄的詳細信息 實例:mkdir -pv /a/b/c#在/a/b下創建目錄c,自動創建不存在的/a /a/b目錄,并顯示創建每個目錄的詳細信息
(8)rmdir
功能:刪除空目錄 格式:rmdir [OPTION]... DIRECTORY... 選項: -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed
(9)tree
功能:以樹形格式顯示文件或目錄 選項: -a顯示所有文件或目錄 -d List directories only.#僅顯示目錄 -l Follows symbolic links if they point to directories, as if they were directories. Symbolic links that will result in recursion are avoided when detected. #如遇到符號鏈接的目錄,直接列出該連接所指向的原始目錄 -f Prints the full path prefix for each file.#顯示每個文件或目錄的完整路徑 -i Makes tree not print the indentation lines, useful when used in conjunction with the -f option. #不以樹狀形式列出文件或目錄 -x Stay on the current file-system only. Ala find -xdev. #將范圍限制在當前文件系統中,若指定目錄下的某些子目錄存放于另一個文件系統上,則將該子目錄排除在范圍外 -L level Max display depth of the directory tree. #指定顯示的最大子目錄層數
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令執行狀態返回值: bash使用特殊變量$?保存最近一條命令的執行狀態結果; 0:命令執行成功 1-255:命令執行失敗
命令行展開: ~:當前用戶的家目錄 ~USERNAME:展開指定用戶的主目錄 {}:可承載一個以逗號分隔的列表,并將其展開為多個路徑 /tmp{a,b}=/tmp/a,/tmp/b /tmp/{c,d}/e=/tmp/c/e,/tmp/d/e
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
mkdir /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
[root@localhost ~]# mkdir -pv /tmp/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: 已創建目錄 "/tmp/mylinux" mkdir: 已創建目錄 "/tmp/mylinux/bin" mkdir: 已創建目錄 "/tmp/mylinux/boot" mkdir: 已創建目錄 "/tmp/mylinux/boot/grub" mkdir: 已創建目錄 "/tmp/mylinux/dev" mkdir: 已創建目錄 "/tmp/mylinux/etc" mkdir: 已創建目錄 "/tmp/mylinux/etc/rc.d" mkdir: 已創建目錄 "/tmp/mylinux/etc/rc.d/init.d" mkdir: 已創建目錄 "/tmp/mylinux/etc/sysconfig" mkdir: 已創建目錄 "/tmp/mylinux/etc/sysconfig/network-scripts" mkdir: 已創建目錄 "/tmp/mylinux/lib" mkdir: 已創建目錄 "/tmp/mylinux/lib/modules" mkdir: 已創建目錄 "/tmp/mylinux/lib64" mkdir: 已創建目錄 "/tmp/mylinux/proc" mkdir: 已創建目錄 "/tmp/mylinux/sbin" mkdir: 已創建目錄 "/tmp/mylinux/sys" mkdir: 已創建目錄 "/tmp/mylinux/tmp" mkdir: 已創建目錄 "/tmp/mylinux/usr" mkdir: 已創建目錄 "/tmp/mylinux/usr/local" mkdir: 已創建目錄 "/tmp/mylinux/usr/local/bin" mkdir: 已創建目錄 "/tmp/mylinux/usr/local/sbin" mkdir: 已創建目錄 "/tmp/mylinux/var" mkdir: 已創建目錄 "/tmp/mylinux/var/lock" mkdir: 已創建目錄 "/tmp/mylinux/var/log" mkdir: 已創建目錄 "/tmp/mylinux/var/run"
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的元數據信息有: access time:訪問時間,簡寫為atime,讀取文件內容 modify time:修改時間,簡寫為mtime,改變文件內容(數據) change time:改變時間,簡寫為ctime,元數據發生改變 可以通過stat查看元數據信息 通過touch命令修改文件的時間戳。 touch命令 格式:touch [OPTION]... FILE... 選項: -a:only atime -m:only mtime -t STAMP: [[CC]YY]MMDDhhmm[.ss] -c:如果文件不存在,則不予創建
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
(1)定義別名: alias NAME="VALUE" 例如: alias cdnet="cd /etc/sysconfig/network-scripts/" 注意:在命令行定義的別名,僅在當前shell有效;如果想永久有效,需要定義在配置文件中 1)~/.bashrc:僅對當前用戶有效 2)/etc/bashrc:對所有用戶均有效 Note:編輯配置后的新配置文件不會立即生效,需要bash進程重新讀取配置文件 bash進程重新讀取配置文件的方法: 1)source /path/config_file 2). /path/to/config_file (2)在命令中引用另一個命令的執行結果 1)管道 格式:COMMAND1 | COMMAND2 | COMMAND3 功能:后一個命令引用前一個命令的執行結果 示例:cat /etc/passwd | grep '^root\>' | cut -d: -f1,7 #顯示root用戶的用戶名和shell 2)bash命令 COMMAND1 `COMMAND 2` 或 COMMAND1 $(COMMAND2) 示例: echo `seq 1 10` 或 echo $(seq 1 10) 功能:顯示1...10之間的整數序列
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls /var/l*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch tfile-`date +%F-%H-%M-%S`
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
mkdir -p /tmp/mytest1 && cp -r /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
mkdir -p /tmp/mytest2 && cp -r /etc/*.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
mkdir -p /tmp/mytest3 && cp /etc/{l,m,n}*.conf /tmp/mytest3
原創文章,作者:N21-天天,如若轉載,請注明出處:http://www.www58058.com/21408
寫的很好,排版可以多關注一下,加油