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.178linux.com/18638
评论列表(1条)
写的很棒,可以在多关注一些排版方面的技巧