1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
cp:復制命令
用法: cp [源文件] [目標地址]
cp vimrc /tmp/
cp [源文件1] [源文件2] … [目標地址]
cp yum.conf who.out sudo-ldap.conf /tmp/
cp -r [文件夾] … [目標地址]
r:實現文件夾的遞歸復制
cp -r sysconfig/ /tmp/
cp -a [文件夾] [目標文件]
cp -a sysconfig/ /tmp/
cp -p [源文件] [目標文件]
-p 保留文件原有屬性
源文件屬性
cp -p /home/java/java/ /tmp/
mv:移動(剪切、復制到)文件
-i:交互式選項
-f:強制執行
mv -f java/ /tmp/
rm:刪除命令
-i:交互式選項
-f:強制刪除
-r:遞歸選項
rm -f java.*
rm -rf javas
cd :進入指定文件夾
cd /path/to/somefile
.. :返回上一層級目錄
~ :返回家目錄
ll :顯示指定目錄中的文件,默認顯示當前目錄中的文件
ll /path.to/somefolder
pwd:顯示當前所在位置的絕對路徑
mkdir :創建文件夾
mkdir [option]… diretory…
-p:多層級創建
-v:顯示創建過程
-m:指定權限
[root@localhost tmp]# mkdir -pv a/b/c
mkdir: 已創建目錄 "a"
mkdir: 已創建目錄 "a/b"
mkdir: 已創建目錄 "a/b/c"
[root@localhost tmp]# mkdir -pv -m 777 1/2/3
mkdir: 已創建目錄 "1"
mkdir: 已創建目錄 "1/2"
mkdir: 已創建目錄 "1/2/3"
[root@localhost tmp]# ll 1/2/
總用量 4
drwxrwxrwx. 2 root root 4096 6月 27 00:39 3
rmdir:刪除文件夾
rmdir [option]… dirctory…
只能刪除空目錄
-v:顯示詳細信息
[root@localhost tmp]# rmdir -v 1
rmdir: 正在刪除目錄 "1"
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash中使用$?,來保存最近一次命令的執行狀態結果。
[root@localhost tmp]# ls
a java java.conf java.exe sudo-ldap.conf sysconfig test vimrc who.out yum.conf
[root@localhost tmp]# echo $?
0
命令或腳本執行成功,狀態返回值為0;否則,為執行出錯:范圍:1-255
錯誤返回值,可在腳本中自行定義錯誤原因
命令行展開:
{}:展開命令行
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@localhost test]# mkdir {a,b}{c,d}
[root@localhost test]# ll
總用量 16
drwxr-xr-x. 2 root root 4096 6月 27 01:32 ac
drwxr-xr-x. 2 root root 4096 6月 27 01:32 ad
drwxr-xr-x. 2 root root 4096 6月 27 01:32 bc
drwxr-xr-x. 2 root root 4096 6月 27 01:32 bd
(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 mylinux]# mkdir -p bin boot/grub dev etc/{rc.d/init.d,sysconfig/network-scripts} lib/modules lib64 proc sbin sys tmp user/local{bin,sbin} var/{lock,log,run}
[root@localhost mylinux]# ll
總用量 48
drwxr-xr-x. 2 root root 4096 6月 27 01:45 bin
drwxr-xr-x. 3 root root 4096 6月 27 01:45 boot
drwxr-xr-x. 2 root root 4096 6月 27 01:45 dev
drwxr-xr-x. 4 root root 4096 6月 27 01:45 etc
drwxr-xr-x. 3 root root 4096 6月 27 01:45 lib
drwxr-xr-x. 2 root root 4096 6月 27 01:45 lib64
drwxr-xr-x. 2 root root 4096 6月 27 01:45 proc
drwxr-xr-x. 2 root root 4096 6月 27 01:45 sbin
drwxr-xr-x. 2 root root 4096 6月 27 01:45 sys
drwxr-xr-x. 2 root root 4096 6月 27 01:45 tmp
drwxr-xr-x. 4 root root 4096 6月 27 01:45 user
drwxr-xr-x. 5 root root 4096 6月 27 01:45 var
[root@localhost mylinux]# tree
.
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── user
│ ├── localbin
│ └── localsbin
└── var
├── lock
├── log
└── run
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件大小
創建時間
文件的權限
文件的屬主屬組
atime
mtime
ctime
文件類型
文件被硬鏈接的次數
[root@localhost etc]# stat exports
File: "exports"
Size: 0 Blocks: 0 IO Block: 4096 普通空文件
Device: fd00h/64768d Inode: 915736 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-01-12 21:28:22.000000000 +0800
Modify: 2010-01-12 21:28:22.000000000 +0800
Change: 2016-05-29 18:47:02.827999962 +0800
使用touch命令修改時間戳
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
命令別名使用alias
alias:顯示當前shell進程所有可用的命令別名
alias NAME='VALUE'
[root@localhost tmp]# alias ip='ifconfig'
[root@localhost tmp]# ip
eth0 Link encap:Ethernet HWaddr 00:0C:29:F9:21:60
inet addr:192.168.99.28 Bcast:192.168.99.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef9:2160/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19382 errors:0 dropped:0 overruns:0 frame:0
TX packets:11931 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7274136 (6.9 MiB) TX bytes:2814802 (2.6 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
命令中引用另一個命令的執行結果
管道命令
COMMAND1 | COMMAND2 | COMMAND3…
cat /etc/passwd | cut -d: -f1,3,5 | sort -t: -k2 -n
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls /var/l*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
ll /etc/[0-9]*[^[:digit:]]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls -ld /etc/[^a-z][a-z]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch tfile-$(date +'%F-%H-%M-%S')
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -r /etc/p*[^0-9] /tmp/mylinux/
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -r /etc/*.d /tmp/mytest2/
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp -r /etc/[1,m,n]*.conf /tmp/mytest3
原創文章,作者:N20_丁木晨,如若轉載,請注明出處:http://www.www58058.com/20522
寫的很好,可以多注意一下排版問題,加油