1、linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示。
答:
cp 复制文件
[root@localhost network-scripts]# cp ifcfg-eno16777736 ifcfg-eno.bak
[root@localhost network-scripts]# ls
ifcfg-eno16777736 ifdown-post ifup-eth ifup-sit
ifcfg-eno.bak ifdown-ppp ifup-ib ifup-Team
ifcfg-lo ifdown-routes ifup-ippp ifup-TeamPort
ifdown ifdown-sit ifup-ipv6 ifup-tunnel
ifdown-bnep ifdown-Team ifup-isdn ifup-wireless
ifdown-eth ifdown-TeamPort ifup-plip init.ipv6-global
ifdown-ib ifdown-tunnel ifup-plusb network-functions
ifdown-ippp ifup ifup-post network-functions-ipv6
ifdown-ipv6 ifup-aliases ifup-ppp
ifdown-isdn ifup-bnep ifup-routes
mv 移动或重命名
[root@localhost network-scripts]# mv ifcfg-eno.bak /root/
[root@localhost network-scripts]# ls /root
1 ifcfg-eno.bak mysystem 模板 图片 下载 桌面
anaconda-ks.cfg initial-setup-ks.cfg 公共 视频 文档 音乐
rm 删除文件 ·
[root@localhost ~]# rm -rf /
rm: 在"/" 进行递归操作十分危险
rm: 使用 –no-preserve-root 选项跳过安全模式
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
命令执行状态返回值内容和示例:通过返回值来判断输出结果是否成功,返回值为0则成功,非0则失败(1-255)
例如:挂载光盘到/mnt目录
[root@localhost ~]# mount /dev/cdrom /mmnt
mount: 挂载点 /mmnt 不存在
[root@localhost ~]# echo $?
32
###
返回值为非0,失败
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# echo $?
0
###
返回值为0,成功
命令行展开:在root家目录创建
/root/mysystem/
|– bin
|– etc
| `– sysconfig
| `– network-scripts
|– sbin
|– usr
| |– bin
| |– lib
| |– lib64
| |– local
| | |– bin
| | |– etc
| | |– lib
| | `– sbin
| `– sbin
`– var
|– cache
|– log
[root@localhost ~]# mkdir -pv mysystem/{bin,etc/sysconfig/network-scripts,sbin,usr/{bin,lib,lib64,local/{bin,etc,lib,sbin},sbin},var/{cache,log}}
mkdir: 已创建目录 "mysystem"
mkdir: 已创建目录 "mysystem/bin"
mkdir: 已创建目录 "mysystem/etc"
mkdir: 已创建目录 "mysystem/etc/sysconfig"
mkdir: 已创建目录 "mysystem/etc/sysconfig/network-scripts"
mkdir: 已创建目录 "mysystem/sbin"
mkdir: 已创建目录 "mysystem/usr"
mkdir: 已创建目录 "mysystem/usr/bin"
mkdir: 已创建目录 "mysystem/usr/lib"
mkdir: 已创建目录 "mysystem/usr/lib64"
mkdir: 已创建目录 "mysystem/usr/local"
mkdir: 已创建目录 "mysystem/usr/local/bin"
mkdir: 已创建目录 "mysystem/usr/local/etc"
mkdir: 已创建目录 "mysystem/usr/local/lib"
mkdir: 已创建目录 "mysystem/usr/local/sbin"
mkdir: 已创建目录 "mysystem/usr/sbin"
mkdir: 已创建目录 "mysystem/var"
mkdir: 已创建目录 "mysystem/var/cache"
mkdir: 已创建目录 "mysystem/var/log"
[root@localhost ~]# tree /root/mysystem
/root/mysystem
├── bin
├── etc
│ └── sysconfig
│ └── network-scripts
├── sbin
├── usr
│ ├── bin
│ ├── lib
│ ├── lib64
│ ├── local
│ │ ├── bin
│ │ ├── etc
│ │ ├── lib
│ │ └── sbin
│ └── sbin
└── var
├── cache
└── log
18 directories, 0 files
3、请使用命令行展开功能来完成以下练习:
1)创建/tmp目录下的a_c,a_d,b_c,b_d
[root@localhost ~]# mkdir -pv /tmp/{a_c,a_d,b_c,b_d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/b_d"
[root@localhost ~]# tree /tmp
/tmp
├── a_c
├── a_d
├── anaconda.log
├── b_c
├── b_d
├── hogsuspend
├── hsperfdata_root
├── hsperfdata_zhouchenming
├── ifcfg.log
├── ks-script-cDx2Fd
├── packaging.log
├── program.log
├── sensitive-info.log
├── ssh-Dl5iJSKqllmA
│ └── agent.3372
├── storage.log
├── systemd-private-964ff6c7e72046388caf9c6e002e207e-colord.service-05E8Y3
│ └── tmp
├── systemd-private-964ff6c7e72046388caf9c6e002e207e-cups.service-SWcuSl
│ └── tmp
├── systemd-private-964ff6c7e72046388caf9c6e002e207e-rtkit-daemon.service-1y0FzG
│ └── tmp
├── systemd-private-964ff6c7e72046388caf9c6e002e207e-vmtoolsd.service-stzVyR
│ └── tmp
│ └── vmware-root
├── tracker-extract-files.0
├── tracker-extract-files.1000
├── yum.log
└── yum_save_tx.2016-08-20.09-13.c8w99O.yumtx
18 directories, 11 files
2)创建/tmp/mylinux目录下的
[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"
[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
24 directories, 0 files
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的元数据有文件明、大小、块、IO块、设备权限、UID、GID、环境、最近访问、最近更改和最近改动,创建时间
使用stat命令查看时间戳信息,修改时间戳使用touch命令
修改时间戳,例如:
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-eno16777736 /tmp/1
[root@localhost ~]# stat 1
文件:"1"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:207658590 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2016-08-20 13:58:34.684521722 +0800
最近更改:2016-08-20 13:58:34.684521722 +0800
最近改动:2016-08-20 13:58:34.684521722 +0800
创建时间:-
修改文件1的modify time时间为2011年12月2日4时22分
例如:
[root@localhost ~]# touch -t 1112020422 1
[root@localhost ~]# stat 1
文件:"1"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:207658590 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2011-12-02 04:22:00.000000000 +0800
最近更改:2011-12-02 04:22:00.000000000 +0800
最近改动:2016-08-20 14:07:12.228713850 +0800
创建时间:-
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
使用alias命令定义别名
[root@localhost ~]# alias stop=cp
[root@localhost ~]# alias
alias cp='cp'
alias egrep='egrep –color=auto'
alias fgrep='fgrep –color=auto'
alias grep='grep –color=auto'
alias l.='ls -d .* –color=auto'
alias ll='ls -l –color=auto'
alias ls='ls –color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias stop='cp'
alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'
在命令中引用另一个命令的执行结果
[root@localhost ~]# touch tfile$(date +%b-%h-%m-%s)
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg tfile8月-8月-08-1471686677 公共 模板 视频 图片 文档 下载 音乐 桌面
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录
[root@localhost ~]# ls -d /var/l?[[:lower:]]
/var/lib /var/log
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
[root@localhost ~]# ls -d /etc/?[^0-9]
/etc/hp /etc/pm
[root@localhost ~]# ls -d /etc/?[^[:digit:]]
/etc/hp /etc/pm
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
[root@localhost ~]# ls -d /etc/[^a-z][a-z]*
/etc/1yky2y
[root@localhost ~]# ls -d /etc/[^[:alpha:]]*[a-z]
/etc/1yky2y
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
[root@localhost tmp]# touch tfile$(date +%Y-%m-%H-%M-%S)
[root@localhost tmp]# ll
总用量 168
-rw-r–r–. 1 root root 1828 8月 19 08:48 anaconda.log
prw——-. 1 root root 0 8月 20 09:17 hogsuspend
drwxr-xr-x. 2 root root 6 8月 20 09:20 hsperfdata_root
drwxr-xr-x. 2 zhouchenming zhouchenming 6 8月 19 08:48 hsperfdata_zhouchenming
-rw-r–r–. 1 root root 0 8月 19 08:43 ifcfg.log
-rwx——. 1 root root 827 8月 19 08:36 ks-script-cDx2Fd
drwxr-xr-x. 14 root root 4096 8月 20 17:33 mylinux
-rw-r–r–. 1 root root 0 8月 19 08:43 packaging.log
-rw-r–r–. 1 root root 0 8月 19 08:43 program.log
-rw-r–r–. 1 root root 0 8月 19 08:43 sensitive-info.log
drwx——. 2 root root 23 8月 20 09:17 ssh-Dl5iJSKqllmA
-rw-r–r–. 1 root root 0 8月 19 08:43 storage.log
drwx——. 3 root root 16 8月 20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-colord.service-05E8Y3
drwx——. 3 root root 16 8月 20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-cups.service-SWcuSl
drwx——. 3 root root 16 8月 20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-rtkit-daemon.service-1y0FzG
drwx——. 3 root root 16 8月 20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-vmtoolsd.service-stzVyR
-rw-r–r–. 1 root root 0 8月 20 17:59 tfile2016-08-17-59-35
drwx——. 2 root root 6 8月 20 17:51 tracker-extract-files.0
drwx——. 2 zhouchenming zhouchenming 6 8月 19 08:48 tracker-extract-files.1000
-rw——-. 1 root root 0 8月 19 08:25 yum.log
-rw——-. 1 root root 159513 8月 20 09:13 yum_save_tx.2016-08-20.09-13.c8w99O.yumtx
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmpmytest1目录中
[root@localhost ~]# cp -a /etc/p*[a-z] /tmp/mytest1
[root@localhost ~]# ll /tmp/mytest1
总用量 52
drwxr-xr-x. 2 root root 4096 8月 19 08:36 pam.d
-rw-r–r–. 1 root root 2336 8月 19 08:48 passwd
-rw-r–r–. 1 root root 1362 6月 10 2014 pbm2ppa.conf
-rw-r–r–. 1 root root 2872 6月 10 2014 pinforc
drwxr-xr-x. 9 root root 91 8月 19 08:28 pki
drwxr-xr-x. 2 root root 27 8月 19 08:30 plymouth
drwxr-xr-x. 5 root root 49 8月 19 08:25 pm
-rw-r–r–. 1 root root 6300 6月 10 2014 pnm2ppa.conf
drwxr-xr-x. 2 root root 6 6月 10 2014 popt.d
drwxr-xr-x. 2 root root 4096 8月 19 08:32 postfix
drwxr-xr-x. 3 root root 4096 8月 19 08:28 ppp
drwxr-xr-x. 2 root root 101 8月 19 08:28 prelink.conf.d
-rw-r–r–. 1 root root 233 6月 7 2013 printcap
-rw-r–r–. 1 root root 1750 6月 7 2013 profile
drwxr-xr-x. 2 root root 4096 8月 19 08:32 profile.d
-rw-r–r–. 1 root root 6545 6月 7 2013 protocols
drwxr-xr-x. 2 root root 75 8月 19 08:29 pulse
drwxr-xr-x. 2 root root 22 8月 19 08:30 purple
drwxr-xr-x. 2 root root 34 8月 19 08:26 python
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@localhost mytest2]# cp -a /etc/*.d /tmp/mytest2
[root@localhost mytest2]# ls
auto.master.d exports.d modules-load.d rc2.d sane.d
bash_completion.d gdbinit.d my.cnf.d rc3.d setuptool.d
binfmt.d grub.d oddjobd.conf.d rc4.d statetab.d
cgconfig.d init.d pam.d rc5.d sudoers.d
chkconfig.d ipsec.d popt.d rc6.d sysctl.d
cron.d ld.so.conf.d prelink.conf.d rc.d tmpfiles.d
depmod.d libibverbs.d profile.d request-key.d usb_modeswitch.d
dnsmasq.d logrotate.d rc0.d rsyslog.d xinetd.d
dracut.conf.d modprobe.d rc1.d rwtab.d yum.repos.d
12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
[root@localhost tmp]# cp /etc/l*.conf /etc/m*.conf /etc/n*.conf /tmp/mytest3/
[root@localhost tmp]# ls /tmp/mytest3
ld.so.conf libuser.conf logrotate.conf mke2fs.conf nfsmount.conf ntp.conf
libaudit.conf locale.conf man_db.conf mtools.conf nsswitch.conf numad.conf
原创文章,作者:zhouchenming,如若转载,请注明出处:http://www.178linux.com/38195
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油,最后一个尝试用命令展开来写