llinux常用命令及bash基本特性

一、常用的文件和目录管理命令

1. pwd命令:用来显示当前的工作目录

语法格式:直接输入pwd回车显示当前的工作目录 示例:用pwd命令显示当前的工作目录

 [root@suyiwen ~]# pwd
/root

2. mkdir命令:用来创建目录文件

语法格式:mkdir [OPTION]… DIRECTORY…
常用option:

  • -m,用来指定目录的权限;
  • -p,递归创建目录

在当前路径下创建目录/tmp/suyiwen并指定目录的权限为755

[root@suyiwen ~]# mkdir -m 755 suyiwen
[root@suyiwen ~]# ll
total 28
drwxr-xr-x 2 root root 6 Mar 11 10:10 suyiwen

创建目录/tmp/a/b/c

[root@suyiwen ~]# mkdir -p /tmp/a/b/c
[root@suyiwen ~]# tree /tmp/a
/tmp/a
└── b
└── c
2. directories, 0 files  

3. rmkdir命令:用来删除空目录

语法格式:rmkdir [OPTION]…DIRECTORY…
常用option:

  • -p,递归删除空目录

示例:删除/tmp/a/b/c目录中的a、b、c目录

[root@suyiwen ~]# rmdir -p /tmp/a/b/c/
rmdir: failed to remove directory ‘/tmp’: Device or resource busy

4. cp命令:用于复制文件或者目录

语法格式:cp [OPTION]… [-T] SOURCE DEST
常用选项:

  • -f,强制复制,当目标端存在一样的文件或目录时直接覆盖;
  • -i,与用户交互,提示是否覆盖;
  • -r,递归复制;
  • -b,覆盖文件时创建备份;
  • -a,保留原文件的属性

示例:复制/etc/sysconfig/network-scripts下的所有文件或目录到/tmp目录下

[root@suyiwen ~]# cp -rf /etc/sysconfig /tmp

5. rm命令:用于删除目录或者文件

语法格式:rm [OPTION]… FILE…
常用option:

  • -f,强制删除;
  • -r;递归删除;
  • -v,显示删除过程;
  • -d,删除空目录;
  • -i,与用户交互提示是否删除

示例:强制删除/tmp/sysconfig下的所有文件

[root@suyiwen ~]# rm -rf /tmp/sysconfig

6. mv命令:用于移动文件

语法格式:mv [OPTION]… SOURCE… DIRECTORY
常用option:

  • -i,与用户交互提示是否覆盖;
  • -f,强制覆盖目标同名文件;
  • -b,覆盖移动时,创建备份

示例:将tmp下的CentOS-Base.repo文件移动到当前目录下

[root@suyiwen ~]# mv /tmp/CentOS-Base.repo ./

二、常用的文件查看命令:

1.cat/tac命令:用于查看文件内容

语法格式:cat [OPTION]… [FILE]…
常用option:

  • -n,显示行号

示例:查看/etc/fatab文件内容并显示行号

[root@suyiwen ~]# cat -n /etc/fstab
1
2 #
3 # /etc/fstab
……

2.more:分屏查看文件内容

语法格式:more FILE 示例:查看/etc/init.d/functions文件内容

more /etc/init.d/functions

说明:空格键向下翻页,b键向上翻页,q键退出文件

3.less:分屏查看文件内容

语法格式:less FILE 示例:查看/etc/init.d/functions文件内容

less /etc/init.d/functions

说明:空格键向下翻页,b键向上翻页,q键退出文件

4.head/tail:查看文件头部/尾部内容

语法格式:head|tail [OPTION] FILE…
常用option:

  • -n,选择显示几行,默认显示10行;
  • -f,动态显示文件修改内容

示例1:查看/etc/init.d/functions文件头部20行

[root@suyiwen ~]# head -20 /etc/init.d/functions
# -*-Shell-script-*-
……

示例2:实时查看/var/log/messages内容

[root@suyiwen ~]# tail -f /var/log/messages

三、常用的文件元数据管理命令

1. 元数据

元数据是描述数据的数据:如文件的大小、文件的名称、最近的访问时间、最近的修改时间等等

2. stat命令:stat

语法格式:stat FILE…
示例:查看/etc/fstab文件的详细信息

[root@suyiwen ~]# stat /etc/fstab
File: ‘/etc/fstab’
Size: 565 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 134296930 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-03-10 16:01:01.370886790 +0800
Modify: 2018-02-12 03:03:33.545999769 +0800
Change: 2018-02-12 03:12:47.645997655 +0800

3. touch命令:用来改变文件的时间戳

语法格式:touch [OPTION] FILE
常用option:

  • -a,改变文件的访问时间
  • -m,改变文件的修改时间

注意:当文件不存在时touch会创建一个空文件,可以用-c选项指明不创建

示例:修改/etc/fstab的最近一次访问时间

[root@suyiwen ~]# touch -a /etc/fstab

四、bash的基础特性:用来查看文件或者目录的信息

1. bash的基础特性之命令实行结果:

bash的命令实行结果保存在变量$?中,返回码0表示执行成功,返回码1-255表示执行错误
通过echo $?可以查看上一条命令的执行返回码:

[root@suyiwen ~]# echo $?
0

2. bash的基础特性之命令行展开

~:表示为用户的家目录,如cd ~表示切换到用户的家目录
{}:表示展开为逗号分开的路劲

示例1:创建/tmp目录下的:a_c,a_d,b_c,b_d

[root@suyiwen ~]# mkdir -pv /tmp/{a,b}{c,d}
mkdir: created directory ‘/tmp/ac’
mkdir: created directory ‘/tmp/ad’
mkdir: created directory ‘/tmp/bc’
mkdir: created directory ‘/tmp/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
mkdir -pv /tmp/mylinux/{bin,boot/grub,etc/{rc.d/initld,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

3. bash的基础特性之命令行补存

  • 输入命令的时候可以用tab进行补存命令,如果当前字符串有多个相似的命令,按2下tab键会列出这些命令
  • 输入路劲的时候可以用tab进行补存路劲,如果当前字符串有多个相似的目录或者文件,按2下tab键会列出这些文件

4. bash的基础特性之引用

  • 强引用:”
  • 弱引用:””
  • 引用命令的执行结果:$(COMMAND)或者COMMAND 示例:在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
[root@suyiwen ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
[root@suyiwen ~]# ls /tmp/tfile*
/tmp/tfile-2018-03-11-13-15-25

5. bash的基础特性之globbing

常用的glob通配符:

  • *,表示匹配任意长度的字符
  • ?,表示匹配任意的单个字符
  • [],表示匹配括号内指定范围的字符,用逗号分开
  • 还有些特殊格式如下:
    • [[:spack:]]:表示所有的空白字符,空格和tab
    • [[:alnum:]]:表示所有的字母和数字
    • [[:digit:]]:表示所有的数字
    • [[:upper:]]:表示所有的大写字母
    • [[:lower:]]:表示所有的小写字母
    • [[:alpha:]]:表示所有的字母,包含大小写
    • [[:punct:]]:表示所有的标点符号

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

[root@suyiwen ~]# ls -d /var/1*[[:digit:]]*[[:lower:]]
/var/1u8sf

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

[root@suyiwen ~]# ls -d /etc/[[:digit:]]*[^[:digit:]]
/etc/5susdyifdsif

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

[root@suyiwen ~]# ls -d /etc/[^[:alpha:]]*
/etc/5susdyifdsif

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

[root@suyiwen ~]# cp -rv /etc/p*[^[:digit:]] /tmp/mytest1
‘/etc/pam.d’ -> ‘/tmp/mytest1/pam.d’
‘/etc/pam.d/config-util’ -> ‘/tmp/mytest1/pam.d/config-util’
‘/etc/pam.d/other’ -> ‘/tmp/mytest1/pam.d/other’
‘/etc/pam.d/ksu’ -> ‘/tmp/mytest1/pam.d/ksu’
…..

示例5:复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中

[root@suyiwen ~]# cp -rv /etc/*.d /tmp/test2/
‘/etc/auto.master.d’ -> ‘/tmp/test2/auto.master.d’
‘/etc/bash_completion.d’ -> ‘/tmp/test2/bash_completion.d’
……

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

[root@suyiwen ~]# cp -rv /etc/{1,m,n}*.conf /tmp/test3/
cp: cannot stat ‘/etc/1*.conf’: No such file or directory
‘/etc/man_db.conf’ -> ‘/tmp/test3/man_db.conf’

6.bash的基础特性之命令别名

bash的命令支持定义别名,使用alias 命令可以查看已定义的别名,如:

[root@suyiwen ~]# alias
alias cp=’cp -i’
alias egrep=’egrep –color=auto’
…..

定义别名:使用alias NAME=’COMMAND’,取消使用unalias NAME,只在当前shell有效,如:

[root@suyiwen ~]# alias suyiwen=’ls -ld’
[root@suyiwen ~]# suyiwen
dr-xr-x—. 5 root root 4096 Mar 11 10:46 .

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92064

(0)
n233333n233333
上一篇 2018-03-11 19:08
下一篇 2018-03-11

相关推荐

  • 如何用SHELL写好网络爬虫

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1550976        上周,老大压下来任务,让写一个网络爬虫,负责爬某一个行业网站的数据信息。由于本人只会 sh…

    Linux干货 2016-08-15
  • centos查看和修改文件权限

      查看权限在终端输入:  ls -l xxx.xxx (xxx.xxx是文件名)那么就会出现相类似的信息,主要都是这些:-rw-r–r–其中: 最前面那个 – 代表的是文件类型中间那三个 rw- 代表的是所有者(user)然后那三个 r– 代表的是组群(group)最后那三个 r–   …

    2017-11-26
  • Homework Week-4 grep用法

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 chmod  -R g=,o= /home/tuser1 2、编辑/etc/group文件,添加…

    Linux干货 2016-09-06
  • SSH会话劫持实现端口转发

    在进行渗透测试时,我们有时候会碰到搭建的测试环境、产品服务器、DMZ或者其他类似的机器群的情况,这时我们完全可以把它们看作跳板。这些系统被设计成对外交互的接口,这时候我们考虑对其他域里的用户进行SSH会话劫持是个不错的选择。 那么如果你拥有了某一个跳板的控制权限,想要通过另一个域的用户对远程域进行访问会怎么办呢?当然,这时候你是没有密码、密钥的,你不能抛弃二…

    系统运维 2015-03-23
  • Linux系统解压缩

    Linux系统解压缩 gzip/gunzip 语法gzip [OPTIONS] + 压缩之后的路径 + 要压缩的文件 -#:压缩比 (不常用) -d:解压缩,相当于gunzip -c:将压缩后的数据输出至标准输出 -r:递归至目录中对每个文件进行压缩 zcat :查看压缩文件的内容 ——————————————————————————————————————…

    Linux干货 2017-08-15
  • 磁盘及文件系统管理

    Linux磁盘及文件系统: 磁盘:用于持久存放数据 常见的磁盘有:机械硬盘、固态硬盘 I/O Ports: I/O设备地址 常见的硬盘接口类型:      IDE(ata):并口,133MB/s     SCSI:并口,UltraSCSI320,320MB/s,UltraSCSI…

    Linux干货 2016-08-26