linux常用命令

作者: emmmm大师 | 来源:发表于2019-02-10 11:11 被阅读19次

    一、命令基本格式及文件处理命令

    1.命令提示符

    [root@zcq ~]#
    root:当前登录用户
    zcq:主机名
    ~ :当前用户所在的目录
    #: 超级用户的提示符
    普通用户的提示符是$

    2.命令格式

    命令 [选项] [参数]
    个别命令使用不遵循格式
    当有多个选项时,可以写在一起
    简化选项与完整选项
    -a等于--all

    3.ls

    列出文件或者目录的信息,目录的信息就是其中包含的文件。

    # ls [-aAdfFhilnrRSt] file|dir
    -a :列出全部的文件
    -d :仅列出目录本身
    -l :以长数据串行列出,包含文件的属性与权限等等数据
    -h : 人性化显示文件大小
    -i : 显示inode

    4.文件权限

    -rwxrwxrwx. 1
    -文件类型(- 文件 d目录 l软链接文件)
    每三个字母一组分别代表 u所有者 g所属组 o其他人
    r读 w写 x执行
    .代表ACL权限
    1代表引用计数

    5.mkdir

    创建目录。

    # mkdir [-mp] 目录名称
    -m :配置目录权限
    -p :递归创建目录(这个很常用)

    6.cd

    更换当前目录。

    cd [相对路径或绝对路径]
    cd - 回到上一次目录

    7.pwd

    显示当前所在位置

    8.rmdir

    删除目录,目录必须为空。

    rmdir [-p] 目录名称
    -p :递归删除目录

    9.rm

    删除文件。

    # rm [-fir] 文件或目录
    -r :递归删除
    -f : 强制删除

    10.cp

    复制文件。

    如果源文件有两个以上,则目的文件一定要是目录才行。

    cp [-adfilprsu] source destination
    -r 复制目录
    -p 连带文件属性复制
    -d 若源文件是链接文件,则复制链接属性
    -a 相当于 -pdr,包括文件的时间信息等.

    11.mv

    移动文件。

    # mv [-fiu] source destination
    # mv [options] source1 source2 source3 .... directory
    -f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

    12.常见目录

    目录 说明
    /root 根目录,万物起源
    /boot 包含 Linux 内核,最初的 RMA 磁盘映像(系统启动时,由驱动程序所需),和启动加载程序
    有趣的文件:<br />/boot/grub/grub.conf or menu.lst,被用来配置启动
    加载程序<br />/boot/vmlinuz, Linux 内核
    /bin 包含系统启动和运行所必须的二进制程序
    /sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
    /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。usr (unix software resource)
    /usr/bin 系统用户使用的应用程序
    /usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
    /usr/src 内核源代码默认的放置目录
    /proc 系统内存的映射目录,提供内核与进程信息
    /lost+found 一般情况下是空的,当系统非法关机后,这里就存放了一些文件,文件系统恢复时的恢复文件
    /var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。存放邮件、系统日志等变化文件,存放系统或程序运行过程中的数据文件(variable)
    /tmp 这个目录是用来存放一些临时文件的
    /etc 存放系统配置文件。它也包含一系列的 shell 脚本,在系统启动时,这些脚本会运行每个系统服务。这个目录中的任何文件应该是可读的文本文件。<br /><br />/etc/crontab,定义自动运行的任务。<br />/etc/fstab,包含存储设备的列表,以及与他们相关的
    挂载点。<br />/etc/passwd,包含用户帐号列表。
    /home 用户主目录,在通常的配置环境下,系统会在 /home 下,给每个用户分配一个目录。普通只能在他们自己的目录下创建文件。这个限制保护系统免受错误的用户活动破坏。
    /dev 这是一个包含设备结点的特殊目录。“一切都是文件”,也使用于设备。在这个目录里,内核维护着它支持的设备
    /lib 动态连接共享库,.so 文件,类似于 Windows 里的 dll 文件。
    /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
    /media 系统会自动识别一些设备,例如 U 盘、光驱等等,把识别的设备挂载到这个目录下。
    /sys sys 虚拟文件系统挂载点
    /srv 存放服务相关数据
    /opt 这是给主机额外安装软件所摆放的目录。比如你安装一个 ORACLE 数据库则就可以放到这个目录下。默认是空的。
    /srv 该目录存放一些服务启动之后需要提取的数据。
    /selinux 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux 相关的文件的。

    13.链接命令

    生成链接文件

    ln -s [原文件] [目标文件]
    -s 生成软链接

    硬链接
    一般情况下,文件名和 inode 号码是 "一一对应" 关系,每个 inode 号码对应一个文件名。但是,Unix/Linux 系统允许,多个文件名指向同一个 inode 号码。

    这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为 "硬链接"(hard link)。

    • 拥有相同的 i 节点和存储 block 块,可以看做是同一个文件
    • 可通过 i 节点识别
    • 不能跨分区
    • 不能针对目录使用

    软链接
    软链接(Symbolic Link,又称符号链接):软链接能跨越不同的文件系统,软链接记录的是目标的 path。源文件删除后,则软链接无效。相当于Windows系统中的“快捷方式”

    • 类似 windows 的快捷方式
    • 软链接拥有自己的 i 节点和 block 块,但是数据块中只保存原文件的文件名和 i 节点号,并没有实际的文件数据
    • 修改任意一个文件,另一个都会改变
    • 删除源文件,则软链接无法使用
    • 软链接的文件权限都为 rwxrwxrwx (文件权限以原文件为准)
    • 若要创建软链接,则创建的源文件必须使用绝对路径,否则在使用软链接时会报错

    二、指令与文件搜索

    1.locate(文件搜索命令)

    文件搜索。可以用关键字或者正则表达式进行搜索。速度非常快

    注意: locate 是从数据库中读取数据(/var/lib/mlocate),而不是从文件系统中读取。从数据库中读取时是读取 updatedb 命令返回的结果,而 updatedb 命令默认是一天(24小时)才自动运行一次,这就意味着如果是最新创建的文件,使用 locate 命令可能查找不到。

    解决方法 : 在使用 locate命令前,先手动运行updatedb命令(需要 root 权限):sudo updatedb

    实例

    搜索 etc 目录下所有以 sh 开头的文件:

    locate /etc/sh

    搜索用户主目录下,所有以m开头的文件:

    locate ~/m

    搜索用户主目录下,所有以m开头的文件,并且忽略大小写:

    locate -i ~/m

    可以通过/etc/updatedb.conf 配置文件配置搜索2


    locate配置文件.png

    2.whereis与which(命令的搜索命令)

    # whereis [-bmsu] dirname/filename
    -b 只查找可执行文件
    -m 只查找帮助文件
    [root@zcq ~]# whereis ls

    which

    • 搜索系统命令所在路径及别名

    • PATH环境变量:定义的是系统搜索命令的路径

    echo $PATH
    # which [-a] command
    -a :将所有指令列出,而不是只列第一个

    3.find

    • find 搜索范围 搜索文件
    • find / -name install.log 避免大范围搜索,会非常耗费系统资源 find 是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配。
    • Linux 通配符

    * 匹配任意内容
    ? 匹配任意一个字符
    [] 匹配任意一个中括号内的字符

    • find /root -iname install.log 不区分大小写
    • find /root -user root 按照所有者搜索
    • find /root -nouser 查找没有所有者的文件
    • find /var/log/ -mtime +10 查找 10 天前修改的文件

    -10 10天内修改的文件
    10 10天当天修改的文件
    +10 10天前修改的文件
    atime 文件访问时间
    ctime 改变文件属性
    mtime 修改文件内容

    • find . -size 25k 查找文件大小是 25kb 的文件

    -25k 小于25kb的文件
    25k 等于25kb的文件
    +25k 大于25kb的文件

    • find . -inum 262422 查找 i 节点是 262422 的文件
    • find /etc/ -size +20k -a -size -50k 查找 /etc/ 目录下,大于 20k 并且小于 50k 的文件
      • -a and 逻辑与,两个条件都满足
      • -o or 逻辑或,两个条件满足一个即可
    • find /etc/ -size +20k -a -size -50k -exec ls -lh {} ; 查找/etc/目录下,大于20k并且小于50k的文件,并显示详细信息 -exec/ 命令 {} ;  对搜索结果执行操作

    4.grep(搜索字符串命令)

    在文件当中匹配符合条件的字符串

    grep [选项] 字符串 文件名
    -i 忽略大小写
    -v 排除指定字符串

    三、帮助命令

    1. man 命令( 获取指定命令的帮助)

    man ls
    查看ls的帮助

    2. 命令 --help( 获取命令选项的帮助)

    ls --help

    四、压缩与解压缩命令

    常用压缩格式如下:

    扩展名 压缩程序
    *.zip zip
    *.gz gzip
    *.bz2 bzip2
    *.tar tar 程序打包的数据,没有经过压缩
    *.tar.gz tar 程序打包的文件,经过 gzip 的压缩
    *.tar.bz2 tar 程序打包的文件,经过 bzip2 的压缩

    .zip

    (一)压缩

    • zip 压缩文件名 源文件
      压缩文件
    • zip -r 压缩文件名 源目录
      压缩目录

    (二)解压缩

    • unzip 压缩文件
      解压.zip文件

    .gz

    (一)压缩

    • gzip 源文件
      压缩为.gz格式的压缩文件,源文件会消失
    • gzip -c 源文件 > 压缩文件
      压缩为.gz格式的压缩文件,源文件保留

    注:-c是将压缩的格式不写入新文件,打印到屏幕上,利用输出重定向造成一个既压缩.gz格式源文件也不消失的现象。但是gzip本身是不支持保留源文件压缩的。

    • gzip -r 目录
      压缩目录下所有的子文件,但是不能压缩目录

    (二)解压缩

    • gzip -d 压缩文件
      解压缩文件
    • gunzip 压缩文件
      解压缩文件

    .bz2

    (一)压缩

    • bzip2 源文件
      压缩为.bz2格式,不能保留源文件
    • bzip2 -k 源文件
      压缩之后保留源文件
    • 注意:bzip2命令不能压缩目录

    (二)解压缩

    • bzip2 -d 压缩文件
      解压缩,-k保留压缩文件
    • bunzip2 压缩文件
      解压缩,-k保留压缩文件

    tar

    将一个目录打包成文件.tar格式,这样 .gz.bz2 可压缩,解压缩目录

    • tar -cvf 打包文件名 源文件
    • 选项:
    -c   打包   
    -x   解打包
    -v   显示过程   
    -f   指定打包后的文件名  
    

    解打包命令

    • tar -xvf 打包文件名

    .tar.gz

    • 其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
    • tar -zcvf 压缩包名.tar.gz 源文件
    • 选项:
      -z: 压缩为.tar.gz格式
    • tar -zxvf 压缩包名.tar.gz
    • 选项:
      -x: 解压缩.tar.gz格式

    .tar.bz2

    其实 .tar.gz 格式是先打包成 .tar 格式,再压缩为 .gz 格式

    • tar -jcvf 压缩包名 .tar.bz2 源文件

    • 选项:
      -z:压缩为.tar.gz格式

      -j:支持bzip2解压文件

    • tar -jxvf 压缩包名.tar.bz2

    • 选项:
      -x: 解压缩.tar.gz格式

    tar命令参考选项

    -A或--catenate:新增文件到以存在的备份文件;
    -B:设置区块大小;
    -c或--create:建立新的备份文件;
    -C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
    -d:记录文件的差别;
    -x或--extract或--get:从备份文件中还原文件;
    -t或--list:列出备份文件的内容;
    -z或--gzip或--ungzip:通过gzip指令处理备份文件;
    -Z或--compress或--uncompress:通过compress指令处理备份文件;
    -f<备份文件>或--file=<备份文件>:指定备份文件;
    -v或--verbose:显示指令执行过程;
    -r:添加文件到已经压缩的文件;
    -u:添加改变了和现有的文件到已经存在的压缩文件;
    -j:支持bzip2解压文件;
    -v:显示操作过程;
    -l:文件系统边界设置;
    -k:保留原有文件不覆盖;
    -m:保留文件不被覆盖;
    -w:确认压缩文件的正确性;
    -p或--same-permissions:用原来的文件权限还原文件;
    -P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
    -N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
    --exclude=<范本样式>:排除符合范本样式的文件。
    

    五、linux关机重启命令

    1.shutdown

    shutdown [选项] 时间

    -c : 取消前一个关机命令
    -h : 关机
    -r : 重启

    2.其他(不安全)

    halt
    poweroff
    init 0

    相关文章

      网友评论

        本文标题:linux常用命令

        本文链接:https://www.haomeiwen.com/subject/jqpteqtx.html