1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示
文件管理命令:ls、cd、pwd、mkdir、rmdir、cp、rm.、mv、touch、cat、more、less、head、tail
1)ls命令:顯示目錄文件
-a 顯示所有文件,包括隱藏文件
~]# ls -a /etc
. maven
.. mime.types
abrt mke2fs.conf
acpi modprobe.d
-l 詳細信息顯示
~]# ls -l /etc
total 2012
drwxr-xr-x. 3 root root 4096 May 29 2016 abrt
drwxr-xr-x. 4 root root 4096 May 29 2016 acpi
-rw-r–r–. 1 root root 44 Mar 29 00:40 adjtime
-rw-r–r–. 1 root root 1512 Jan 12 2010 aliases
-rw-r–r–. 1 root root 12288 May 30 2016 aliases.db
-d 查看目錄屬性
~]# ls -ld /etc
drwxr-xr-x. 116 root root 12288 Mar 31 03:33 /etc
2)cd命令:切換目錄
(1)~]# cd /etc
[root@localhost etc]#
(2)etc]# cd ..
[root@localhost /]#
cd ..回到上一級目錄
3.pwd命令:顯示當前所在的工作目錄
~]# pwd
/root
4.mkdir命令:創建新目錄
-p: 存在于不報錯,且可自動創建所需的各目錄;
-v: 顯示詳細信息
-m MODE: 創建目錄時直接指定權限
(1)
tmp]# mkdir newdir
tmp]# ls
functions orbit-gdm pulse-oHuVPHu8zq3e yum.log
keyring-6nzrnS orbit-root test
newdir
(2) mkdir -p test1/test2/test3/test4 (一起創建)
(3) mkdir -m 744 test2
5.rmdir命令:刪除空目錄
-v: 顯示過程
(1)tmp]# rmdir -v newdir
rmdir: removing directory, `newdir'
6.cp命令:復制文件或目錄
(1)~]# cp /etc/fstab /tmp/fstab
[root@localhost ~]# ls /tmp
fstab
7.rm命令:刪除文件
-i: 交互式
-f: 強制刪除
-r: 遞歸
~]# rm -rf /tmp/fstab
[root@localhost ~]# ls /tmp
functions orbit-root test
keyring-6nzrnS pulse-5nccTOAXaEH9 virtual-root.RMXqj5
orbit-gdm pulse-oHuVPHu8zq3e yum.log
8.mv命令:移動文件或改名
-i: 交互式
-f: 強制
(1) ~]# mv /etc/fstab /tmp/fstab.1
[root@localhost ~]# ls /tmp
fstab.1 orbit-gdm pulse-oHuVPHu8zq3e yum.log
functions orbit-root test
keyring-6nzrnS pulse-5nccTOAXaEH9 virtual-root.RMXqj5
9.touch命令:文件的時間戳管理工具或創建空文件
文件:metadata, data
查看文件狀態:stat
三個時間戳:
access time:訪問時間,簡寫為atime,讀取文件內容
modify time: 修改時間, mtime,改變文件內容(數據)
change time: 改變時間, ctime,元數據發生改變
touch命令:
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,則不予創建
(1)~]# touch -c /tmp/fstab.1
[root@localhost ~]# ls /tmp
fstab.1 orbit-gdm pulse-oHuVPHu8zq3e yum.log
functions orbit-root test
keyring-6nzrnS pulse-5nccTOAXaEH9 virtual-root.RMXqj5
10.cat命令:顯示文件內容(查看比較小的內容 )
-v :列出一些看不出來的特殊字符
(1)
~]# cat /tmp/fstab.1
#
# /etc/fstab
# Created by anaconda on Sun May 29 20:03:08 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=7717b113-583c-458d-b683-46d2140428ee / ext4 defaults 1 1
UUID=9b961181-2f96-4e33-84f0-e685957fab58 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
11.moer命令:分頁顯示文件內容
– d: 顯示翻頁及退出提示
空格鍵(space)或f 顯示下一頁
Enter 顯示下一行
q或Q 退出
12.less命令:一頁一頁顯示
13.head命令:顯示文件的前幾行
-c #: 指定獲取前#字節
-n #: 指定獲取前#行
-#:
(1)
~]# head -3 /tmp/fstab.1
#
# /etc/fstab
14.tail命令:顯示文件的后幾行
-c #: 指定獲取后#字節
-n #: 指定獲取后#行
-#:
-f: 跟蹤顯示文件新追加的內容
(1) ~]# tail -5 /tmp/fstab.1
UUID=9b961181-2f96-4e33-84f0-e685957fab58 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
命令的執行結果狀態
成功
失敗
bash使用特殊變量$?保存最近一條命令的執行狀態結果:
0:成功
1-255:失敗
程序執行有兩類結果:
程序的返回值;
程序的執行狀態結果
(1)~]# ls /var
account cvs games local mail preserve tmp
cache db gdm lock nis run www
crash empty lib log opt spool yp
[root@localhost ~]# echo $?
0
(2)~]# echo $?
0
[root@localhost ~]# ls /varr
ls: cannot access /varr: No such file or directory
[root@localhost ~]# echo $?
2
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
tmp]# mkdir {a,b}_{c,d}
[root@localhost tmp]# ls
a_c fstab.1 orbit-root virtual-root.RMXqj5
a_d functions pulse-5nccTOAXaEH9 yum.log
b_c keyring-6nzrnS pulse-oHuVPHu8zq3e
b_d orbit-gdm test
(2)、創建/tmp/mylinux目錄下的:
root@localhost ~]# tree /tmp/mylinux
/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
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息
文件的時間戳管理工具:
touch
文件:metadata, data
查看文件狀態:stat
三個時間戳:
access time:訪問時間,簡寫為atime,讀取文件內容
modify time: 修改時間, mtime,改變文件內容(數據)
change time: 改變時間, ctime,元數據發生改變
touch命令:
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,則不予創建
~]# stat bin
stat: cannot stat `bin': No such file or directory
[root@localhost ~]# stat /bin
File: `/bin'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 8196 Links: 2
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-03-31 03:33:10.280924126 +0800
Modify: 2015-03-29 04:44:57.659993910 +0800
Change: 2015-03-29 04:44:57.659993910 +0800
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果
命令別名(alias)
通過alias命令實現:
(1) alias
顯示當前shell進程所有可用的命令別名;
(2) alias NAME='VALUE'
定義別名NAME,其相當于執行命令VALUE;
root@localhost ~]# alias na='ls -ld'
[root@localhost ~]# na /etc
drwxr-xr-x. 116 root root 12288 Mar 31 04:09 /etc
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄
# ls -d /var/l*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
# ls -d /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄
# ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
tmp]# touch tfile '-date '+%Y-%m-%d %H:%M:%S'
tmp]# ls
functions mytest3 test
keyring-6nzrnS orbit-gdm tfile-2015-03-31-05-21-01
mylinux orbit-root virtual-root.RMXqj5
mytest1 pulse-5nccTOAXaEH9 yum.log
mytest2 pulse-oHuVPHu8zq3e
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
root@localhost ~]# cp -a /etc/p*[^0-9] /tmp/mytest1
[root@localhost ~]# ls /tmp/mytest1
pam.d pm prelink.conf.d
pango pm-utils-hd-apm-restore.conf printcap
passwd pnm2ppa.conf profile
passwd- popt.d profile.d
pbm2ppa.conf portreserve protocols
pcmcia postfix pulse
pinforc ppp purple
pki prelink.cache
plymouth prelink.conf
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
[root@localhost ~]# cp -a /etc/*.d /tmp/mytest2
[root@localhost ~]# ls /tmp/my
mylinux/ mytest2/
[root@localhost ~]# ls /tmp/mytest2/
bash_completion.d ld.so.conf.d profile.d request-key.d
chkconfig.d logrotate.d rc0.d rsyslog.d
cron.d lsb-release.d rc1.d rwtab.d
depmod.d makedev.d rc2.d sane.d
dnsmasq.d modprobe.d rc3.d setuptool.d
dracut.conf.d oddjobd.conf.d rc4.d statetab.d
event.d pam.d rc5.d sudoers.d
init.d popt.d rc6.d xinetd.d
latrace.d prelink.conf.d rc.d yum.repos.d
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中
root@localhost ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3
cp: target `/tmp/mytest3' is not a directory
[root@localhost ~]# mkdir /tmp/mytest3
[root@localhost ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3
[root@localhost ~]# ls /tmp/mytest3
latrace.conf libuser.conf mke2fs.conf nsswitch.conf
ld.so.conf logrotate.conf mtools.conf ntp.conf
libaudit.conf ltrace.conf nfsmount.conf
原創文章,作者:Net20_侯燕東,如若轉載,請注明出處:http://www.www58058.com/18638
寫的很棒,可以在多關注一些排版方面的技巧