N22-第2周作业


1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

cd、pwd、ls、alias、cat、more、less、tail、cut、wc、touch、mv、cp、rm

pwd:用户当前所在目录

[xuc@localhost ~]$ pwd
/home/xuc

cd:切换目录

 cd  [/PATH/TO/SOMEDIR]:切换至某一个文件目录

[root@localhost ~]# cd /                                                //切换到根目录
[root@localhost /]# ls                                                  //查看根目录所有文件
bin   dev  home  lib64       media  opt   root  sbin  sys  usr
boot  etc  lib   lost+found  mnt    proc  run   srv   tmp  var
[root@localhost /]# cd /dev                                            //切换到dev目录下
[root@localhost dev]#

cd ~:切换到家目录下

[root@localhost dev]# 
[root@localhost dev]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# su xuc
[xuc@localhost root]$ cd ~
[xuc@localhost ~]$ pwd
/home/xuc

cd -:前后两次目录之间切换

[root@localhost ~]# cd /etc/
[root@localhost etc]# cd -
/root
[root@localhost ~]# cd -
/etc
[root@localhost etc]#

echo $PWD:回显当前目录

[root@localhost etc]# echo $PWD
/etc

ls:list查看目录下所有文件

ls -a:显示隐藏文件

[root@localhost etc]# ls -a
.                           fcoe            mail.rc                   rpm
..                          festival        makedumpfile.conf.sample  rsyncd.conf
abrt                        filesystems     man_db.conf               rsyslog.conf
adjtime                     firewalld       maven                     rsyslog.d
aliases                     fonts           mke2fs.conf               rwtab
aliases.db                  fprintd.conf    modprobe.d                rwtab.d

ls -l:显示文件详细信息,文件名、类型、大小、权限、属主属组、修改时间、硬连接数

[root@localhost etc]# ls -l
total 1884
drwxr-xr-x.  3 root root     4096 Aug  3 17:50 abrt
-rw-r--r--.  1 root root       16 Aug  3 18:28 adjtime
-rw-r--r--.  1 root root     1518 Jun  7  2013 aliases
-rw-r--r--.  1 root root    12288 Aug  3 09:30 aliases.db
drwxr-xr-x.  2 root root     4096 Aug  3 17:52 alsa
drwxr-xr-x.  2 root root     4096 Aug  3 18:04 alternatives
-rw-------.  1 root root      541 Jul 27  2015 anacrontab
-rw-r--r--.  1 root root       55 Mar  5  2015 asound.conf
-rw-r--r--.  1 root root        1 Nov 19  2015 at.deny

ls -d:查看目录自身而非其内部的文件列表

[root@localhost var]# ls -d

ls -r:逆序显示

[root@localhost ~]# ls
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates
Desktop          Downloads  Music                 Public    Videos
[root@localhost ~]# ls -r
Videos     Public    Music                 Downloads  Desktop
Templates  Pictures  initial-setup-ks.cfg  Documents  anaconda-ks.cfg

ls -R:文件递归显示,显示文件目录及目录内容

[root@localhost ~]# ls -R
.:
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates
Desktop          Downloads  Music                 Public    Videos

./Desktop:

./Documents:

./Downloads:

./Music:

./Pictures:

./Public:

./Templates:

./Videos:

alias:定义别名,相当于快捷命令

[root@localhost ~]# alias
alias cp='cp -i'
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 which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

cat:concatenate文本文件查看器

    -n:给显示的文本行统一编号

[root@localhost ~]# cat /tmp/test2
#!/bin/bash
useradd o
useradd p
useradd q
id -u o >>a.txt
id -u p >>a.txt
id -u q >>a.txt

sum=0

while read LINE
do
      

        ((sum+=$LINE)) > /dev/null 2>&1

done < a.txt

echo $sum
[root@localhost ~]# cat -n /tmp/test2
     1	#!/bin/bash
     2	useradd o
     3	useradd p
     4	useradd q
     5	id -u o >>a.txt
     6	id -u p >>a.txt
     7	id -u q >>a.txt
     8	
     9	sum=0
    10	
    11	while read LINE
    12	do
    13	      
    14	
    15	        ((sum+=$LINE)) > /dev/null 2>&1
    16	
    17	done < a.txt
    18	
    19	echo $sum

tac, head, tail, more, less:性质和cat命令相同,都是查看文本文件内容

tac:倒序显示文本内容

head -n:查看文本前n行

tail -n:查看文本后n行

more:翻屏至文件尾部后自动退出

less:与more类似,不会自动退出,随意产看文本文件内容

wc:文字统计

    -l:显示文本文件有多少行

    -w:有多少个单词

    -c:有多少个字节

[root@localhost tmp]# wc -c functions 
13948 functions
[root@localhost tmp]# wc -w functions 
2030 functions
[root@localhost tmp]# wc -c functions 
13948 functions

cut:文件中每一行的内容截取掉

    -d:‘ ‘以什么字符分割

    -f:#显示分隔后的第几个字符(从1开始算)

[root@localhost tmp]# wc -l functions |cut -d' ' -f2
functions

touch:创建文件

rm:移除文件

    -i:交互式,提示用户是否删除文件(默认alias rm='rm -i')

[root@localhost tmp]# rm test4
rm: remove regular empty file ‘test4’? y
[root@localhost tmp]#

    -f:强制移除,无交互式提示

    -r:递归,删除目录下所有文件

mv:移动文件所在目录

[root@localhost /]# ls
bin   dev  home  lib64       media  opt   root  sbin  sys  usr
boot  etc  lib   lost+found  mnt    proc  run   srv   tmp  var
[root@localhost /]# mv /tmp/test /
[root@localhost /]# ls
bin   dev  home  lib64       media  opt   root  sbin  sys   tmp  var
boot  etc  lib   lost+found  mnt    proc  run   srv   test  usr

cp:复制文件

    -i:交互式复制,即覆盖之前提醒用户确认;

    -f:强制覆盖目标文件;

    -r, -R:递归复制目录;

    -d:复制符号链接文件本身,而非其指向的源文件;

    -a:-dR –preserve=all, archive,用于实现归档;

[root@localhost /]# cp /etc/grub2.cfg /tmp/
cp: overwrite ‘/tmp/grub2.cfg’? y
[root@localhost /]# cp -r /etc/grub2.cfg /tmp/

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示

bash的工作特性有很多:命令别名、命令状态返回值、引用、快捷键、路径和命令补全、命令行展开、glob特性、变量、I/O重定向和管道等等

命令执行状态返回值:0表示成功,1~255表示失败

[root@localhost /]# echo "hello world"
hello world
[root@localhost /]# echo $?                //返回上一条执行结果状态成功与否
0
[root@localhost /]# echo $PATH             //当前用户shell所在路径
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost /]#

把命令行的给定的特殊符号自动替换为相应字符串的机制;

~: 自动替换为用户家目录;

~USERNAME:自动替换为指定用户的家目录;

{}:可承载一个以逗号分隔的路径列表,能够将其展开为多个独立路径

[root@localhost ~]# cd /etc/
[root@localhost etc]# cd ~
[root@localhost ~]#

3、请使用命令行展开功能来完成以下练习:

(1)创建/tmp目录下的:a_c,a_d,b_c,b_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 ~]# 
[root@localhost ~]# mkdir -pv /tmp/{a_c,a_d,b_c,b_d}
mkdir: created directory ‘/tmp/a_c’
mkdir: created directory ‘/tmp/a_d’
mkdir: created directory ‘/tmp/b_c’
mkdir: created directory ‘/tmp/b_d’
[root@localhost ~]# ls /tmp/
a=
a_c
a_d
a.txt
b=
b_c
b_d
c=
[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}}

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息

文件元数据包括:文件大小、权限、属主属组、时间戳 、数据块指针

以上顾名思义,这里解释数据块指针,我们都知道数据存储在硬盘上,存放是以块存放,为了便于存储和查找我们对每个块进行编号,数据指针就是指向这些数据块编号的内容

[root@localhost ~]# ls -i                //查看inode
1577704 anaconda-ks.cfg  1577726 Downloads             1577720 mylinux   1577727 Templates
1577725 Desktop          1577714 initial-setup-ks.cfg  1577731 Pictures  1577732 Videos
1577729 Documents        1577730 Music                 1577728 Public

文件时间戳分为:access time、modifytime、changetime

touch命令可以改动时间戳

      -c: 指定的文件路径不存在时不予创建;

      -a: 仅修改access time;

      -m:仅修改modify time; 

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

~]# alias NAME='COMMAND'  //定义别名方法

[root@localhost ~]# alias
alias cp='cp -i'
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 which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]# alias rm='rm -f'
[root@localhost ~]# alias
alias cp='cp -i'
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 -f'        //强制
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

echo $?:引用上一条命令的执行结果

[root@localhost ~]# echo $?
0
[root@localhost ~]# lsa
bash: lsa: command not found...
[root@localhost ~]# echo $?
127

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录

[root@localhost ~]#  ls -d /var/l*[0-9]*[a-z]
/var/labc4abcq

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录

[root@localhost ~]# ls -d /etc/[0-9]*[^0-9]
/etc/9abcdefg  /etc/9abcdefg-

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录

[root@localhost ~]# ls -d /etc/[[:alpha:]][[:alpha:]]*
/etc/abrt                        /etc/gss                       /etc/profile
/etc/adjtime                     /etc/gssproxy                  /etc/profile.d
/etc/aliases                     /etc/hba.conf                  /etc/protocols
/etc/aliases.db                  /etc/host.conf                 /etc/pulse
...

9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22

[root@localhost tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`
[root@localhost tmp]# ls tfile*
tfile-  tfile-2016-08-21-05-20-45

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

[root@localhost ~]# mkdir /tmp/mytest1
[root@localhost ~]# cp -a /etc/p*[^0-9] /tmp/mytest1
[root@localhost ~]# ls /tmp/mytest1/
pam.d    pbm2ppa.conf  plymouth      popt.d   prelink.conf.d  profile.d  purple
passwd   pinforc       pm            postfix  printcap        protocols  python
passwd-  pki           pnm2ppa.conf  ppp      profile         pulse

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中

[root@localhost ~]# cp -a /etc/*.d /tmp/mytest2
[root@localhost ~]# ls /tmp/mytest2
auto.master.d      dracut.conf.d  logrotate.d     profile.d  rc.d           sysctl.d
bash_completion.d  exports.d      modprobe.d      rc0.d      request-key.d  tmpfiles.d
binfmt.d           gdbinit.d      modules-load.d  rc1.d      rsyslog.d      usb_modeswitch.d
cgconfig.d         grub.d         my.cnf.d        rc2.d      rwtab.d        xinetd.d
chkconfig.d        init.d         oddjobd.conf.d  rc3.d      sane.d         yum.repos.d
cron.d             ipsec.d        pam.d           rc4.d      setuptool.d
depmod.d           ld.so.conf.d   popt.d          rc5.d      statetab.d
dnsmasq.d          libibverbs.d   prelink.conf.d  rc6.d      sudoers.d

12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中

[root@localhost ~]# mkdir /tmp/mytest3
[root@localhost ~]# cp /etc/[lmn]*.conf /tmp/mytest3
[root@localhost ~]# 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

原创文章,作者:N22_熊宝,如若转载,请注明出处:http://www.178linux.com/38268

(0)
N22_熊宝N22_熊宝
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • lamp部署及编译安装

    lamp 资源类型: 静态资源:原始形式与响应给客户端的结果一致; 动态资源:原始形式通常为程序文件(为某种编程语言开发),需要运行后将生成的结果展示给客户端;如果请求的资源不存在那么结果就会重定向至指定的文件中 客户端技术:javascript 服务端技术:php, jsp, … CGI:Common Gateway Interfa…

    Linux干货 2016-10-19
  • 文本处理工具

    cat:查看文本文件  tac:竖行相反  rav:行内相反 -n:显示时加行号(空行也加行号) -b:            (空行不加) more:分页查看文件 -d:显示翻页及退出提示 less:一页一页查看文件或STDIN输出 head:前 -n#:前#行内容 tail:…

    Linux干货 2016-08-08
  • N25-第二周作业

    1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 linux上处理目录的常用命令:     ls :列出目录     cd :切换目录     pwd:显示当前工作路径    &nbs…

    Linux干货 2016-12-13
  • linux 网络管理命令 SS的使用详则

    SS命令 ss命令用来显示处于活动状态的套接字信息,ss迷路可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCO和连接状态信息,而且比netstat更快速更高效。 当服务器的socket连接数量变得非常大时,无论是使用netest命令还是直接  cat/proc/net/tcp 。…

    2017-08-19
  • ls、shutdown命令使用及命令提示符格式修改

        ls、shutdown命令使用及命令提示符格式修改                      &nbs…

    Linux干货 2016-10-17
  • ☞磁盘管理{分区表备份与恢复;修复fstab记录错误;制作swap分区;磁盘配额演示;}

    磁盘管理{ 分区表备份与恢复;错误fstab修复;swap分区;磁盘配额;}

    Linux干货 2016-09-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:23

    写的很好,排版还可以在漂亮一点,加油,3大题第一个小题可以在简化一下,第2小题跟要求不一样