Linux常用命令(一)

目录处理命令

命令基本格式

  • ls [选项] [文件/目录]
    选项:
    -a:显示所有文件,包括隐藏文件;
    -l:显示详细信息;
    -d:查看目录属性;
    -h:人性化显示文件大小;
    -i:显示inode;
    -lh:人性化显示详细信息;
    -ld:查看目录属性详细信息。
  • 附:权限默认10位(eg:-rw-r--r--
    第一位:表示文件类型,-:表示文件;d:表示目录;l:表示软连接文件。特殊文件还有四种:块设备文件、字符设备文件、套接字文件、管道文件。
    后面九位按照每三位为一组:前三位是所有者权限;中间三位是所有组权限;后三位是其他人权限。其中用r:表示读;w:表示写;x:表示执行。

目录处理命令

  • mkdir [-p] [目录名] 创建目录,-p:表示递归创建。
  • cd [目录] 切换所在目录。cd ~cd:表示进入当前用户的家目录;cd -:表示进入上次目录;cd …:表示进入上一级目录;cd .:表示进入当前目录。
  • pwd 查看当前所在目录位置。
  • rmdir [目录名] 删除目录。
  • rm -rf [文件/目录] 删除目录或文件。-r:表示删除目录;-f:表示强制执行。慎用rm -rf /,在Linux中万物皆文件,什么都可以删除,包括系统核心文件。
  • cp [选项] [原文件或目录] [目标目录] 复制文件
    选项:
    -r:复制目录;
    -p:连带文件属性复制;
    -d:若是链接文件,则复制链接属性;
    -a:相当于-rpd
  • mv [原文件或目录] [目标目录] 剪切和重命名。

常见目录的作用

用跟目录下的binsbin和usr目录下的binsbin来保存系统命令。

boot:启动目录;dev:特殊文件目录(设备文件);
etc:配置文件目录;home:普通用户家目录;
root:特殊用户家目录;lib:Linux下的函数库;
media、mnt、misc:默认是空目录,分别用来外接光盘、U盘、磁盘。tmp:临时目录;
proc、sys:两个目录不能直接操作,保存的是内存过载点,直接写入内存的;
usr:系统软件资源目录;var:系统相关可见文档目录。

root、home、tmp目录下可以随便放内容,其他目录尽可能不需改动。

链接命令

  • ln -s [原文件] [目标文件] 生成链接文件。原文件需要写绝对路径,-s:表示创建软连接。
  • 硬链接特征:
    1. 拥有相同的i节点和存储block块,可看作是同一个文件;
    2. 可通过i节点识别;
    3. 不能跨分区;
    4. 不能针对目录使用;
    5. 删除原文件,不影响硬链接的使用;
    6. 不推荐使用。
  • 软链接特征:
    1. 类似于Windows里面的快捷方式;
    2. 软链接拥有自己的i节点和block块,但数据块中只保存原文件的文件名和i节点名,并没有实际的文件数据;
    3. 软链接的权限都是lrwxrwxrwx;
    4. 修改任意一文件,另一个文件随之变化;
    5. 删除原文件,软链接也不能使用。

搜索命令

  1. 文件搜索命令locate
  2. 命令搜索命令whereiswhich
  3. 文件搜索命令find
  4. 字符串搜索命令grep

其中locate的搜索速度比find。

文件搜索命令locate

  • locate 文件名 在后台数据库(目录为:/var/lib/mlocate)中按文件名搜索,速度快。
  • updatedb 更新数据库。
    更新后依然有可能搜索不到,比如在tmp目录下创建的文件,搜索不到是因为遵循了/etc/updatedb.conf 配置文件的规则:PRUNE_BIND_MOUNTS="yes“开启搜索限制;PRUNENAMES=不搜索的文件类型;PRUNEFS=不搜索的文件系统;PRUNEPATHS=不搜索的路径。

命令搜索命令whereis和which

  • whereis [选项] 命令名 搜索命令所在路径及帮助文档所在位置。-b表示只查找可执行文件;-m表示只查找帮助文件。
  • which 命令名 搜索命令所在路径及别名。
  • echo $PATH 查看环境变量。

文件搜索命令find

  • find [搜索范围] [搜索条件] 搜索文件。
  • find / -name install.log 在跟目录下搜索名为install.log的文件。(绝对查询)
    1. 避免大范围搜索,非常的耗费系统资源;
    2. find是在系统中搜索符合条件的文件名。如需要匹配,得通过通配符来完成,通配符是完全匹配。
    3. 通配符:
      *:表示匹配任意内容;
      ?:表示匹配任意一个字符;
      []表示匹配任意一个[ ]内的字符。
  • find /root -iname install.log 不区分大小写在/root下搜索install.log文件。
  • find /root -user root 按照所有者搜索。
  • find /root -nouser 查找没有所有者的文件。
    • 没有所有者的文件为垃圾文件,可手动删除。
    • 但有两种情况除外:
    1. 内核文件。在proc和sys目录下有可能存在没有所有者文件;
    2. 外来文件。光盘、U盘等。
  • find /var/log/ -mtime +10 查找十天前修改的文件。
    • +10表示10天内;10表示第10天;-10表示10天后;
    • -atime文件访问时间;-ctime改变文件属性时间;-mtime修修改文件内容时间。
  • find . -size 25k 查找当前目录文件大小为25k的文件。
    • .表示当前目录;
    • +25k表示大于25k;
    • 25k表示等于25k;
    • -25k表示小于25k。
  • 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/-ok 命令 {} \ 对搜索结果执行操作。
    • 命令A -exec 命令B {} \ 将命令A的结果交给命令B进行处理。

字符串搜索命令grep

  • grep [选项] 字符串 文件名 在文件中查找符合条件的字符串。
    • -i:表示忽略大小写;
    • -v:表示取反,排除指定字符串。

帮助命令

帮助命令man

  • man 命令 获取指定命令的帮助;
    例如man ls 查看ls命令的帮助。
  • man的级别(man man
    1. 查看命令的帮助;
    2. 查看和被内核调用的函数的帮助;
    3. 查看函数和函数库的帮助;
    4. 查看特殊文件的帮助(主要是/dev目录下的文件);
    5. 查看配置文件的帮助;
    6. 查看游戏帮助;
    7. 查看其他杂项的帮助;
    8. 查看系统管理员可用命令的帮助;
    9. 查看和内核相关文件的帮助。
  • man -f 命令 查看命令拥有哪个级别的帮助。
    • 相当于whatis 命令
  • man -k 命令 查看和命令相关的所有帮助(相当于模糊查找命令)
    • 相当于apropos 命令
    • 例如:apropos passwd = man -k passwd .

其他帮助命令

  • 命令 --help 获取命令选项的帮助;
  • help shell内部命令 只能获取shell内部命令的帮助;
    • 判断是否是shell内部命令whereis 命令
      若存在该命令目录,则不是shell内部命令;
      若不存在该命令目录,则是shell内部命令。
  • info 命令 详细命令帮助。
    • 回车:进入子帮助页面(带有*号标记);
    • u:进入上层页面;
    • n:进入下一个帮助小节;
    • p:进入上一个帮助小节;
    • q:退出。

压缩命令

常用的压缩格式有:.zip、.gz、.bz2、.tar.gz、.tar.bz2 …

.zip格式压缩

  • zip 压缩文件名 源文件 压缩文件;
  • zip -r 压缩文件名 源文件 压缩目录;
  • unzip 压缩文件名 解压缩.zip文件;

.gz格式压缩

  • gzip 源文件 压缩为.gz格式的压缩文件,原文件会消失;
  • gzip -c 源文件 > 压缩文件 压缩为.gz格式,原文件保留;
  • gzip -d 压缩文件名gunzip 压缩文件名 解压缩,不保留原文件;
  • gzip -r 目录 压缩目录下所有的子文件,但是不能压缩目录;
  • gunzip -r 压缩文件名 解压缩目录。

.bz2格式压缩

  • bzip2 源文件 压缩为.bz2 格式的压缩文件,原文件会消失;
  • bzip2 -k 源文件 压缩为.bz2格式,原文件保留;
  • bzip2 -d 压缩文件名bunzip2 压缩文件名 解压缩,-k保留原文件;

文件打包及压缩成.tar.gz和.tar.bz2格式

由于gzipbzip不能直接压缩目录,则可以先打包,然后压缩。

  • tar -cvf 打包文件名 源文件 文件打包
    选项:
    -c:打包;
    -v:显示过程;
    -f:指定打包后的文件名;
    -t:查看压缩包但不解压。
  • tar -xvf 打包文件名 解打包。-x:表示解打包。
  • tar -zcvf 压缩包名.tar.gz 源文件 压缩为.tar.gz格式。-z:表示压缩成.tar.gz格式。
  • tar -zxvf 压缩包名.tar.gz 解压缩.tar.gz格式。
  • tar -jcvf 压缩包名.tar.bz2 源文件 压缩为.tar.bz2格式。-j:表示压缩成.tar.bz2格式。
  • tar -jxvf 压缩包名.tar.bz2 解压缩.tar.bz2格式。
  • tar -jxvf 压缩包名.tar.bz2 -C 路径A 解压到路径A;(.tar.gz格式同理)
  • tar -jcvf 路径B/压缩包名.tar.bz2 源文件 压缩到路径B;(.tar.gz格式同理)
  • tar -jtvf 压缩包名.tar.bz2 查看压缩文件。(.tar.gz格式同理)

关机/重启命令

  • shutdown [选项] 时间
    选项:
    -c:取消前一个关机命令;
    -h:关机;
    -r:重启。
  • 其他关机命令还有:haltpoweroffinit 0但是不推荐使用。
  • 其他重启命令还有:rebootinit 6不推荐使用。
  • 系统运行级别(init X):
编号 X说明
0关机
1单用户(进行系统修复)
2不完全多用户,不含NFS服务
3完全多用户
4未分配
5图形界面
6重启
  • cat /etc/inittab 该文件可以修改系统默认运行级别;
  • runlevel 查询系统运行级别;
  • logout 退出当前用户登录。

挂载命令

挂载

  • mount 查询系统中已经挂在的设备;
  • mount -a 依据配置文件/etc/fstab 的内容自动挂载;
  • mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 挂载命令格式;
    • -t 文件系统 加入文件系统类型来指定挂载的类型,可以ext3ext4iso9660等文件系统
    • -o 特殊选项 可以指定挂载的额外选项:

      尽量不用做修改,若修改了,记得改回来。
    • 手动挂载不具有永久性,重启后会失效,可以配置/etc/fstab 文件自动挂载。但是光盘、U盘等外接设备不推荐自动挂载。
  • umount 设备文件名或挂载点 卸载挂载点

挂载光盘

  1. mkdir /mnt/cdrom/ 建立挂载点
  2. mount -t iso9660 /dev/sr0 /mnt/cdrom 挂载光盘。其中-t iso9660 可以省略,因为默认就是-t iso9660
  3. umount /mnt/sr0 卸载光盘

挂载U盘(不常见)

  1. fdisk -l 查看U盘设备文件名
  2. mount -t vfat /dev/sdb1 /mnt/usb/ 挂载U盘。其中/dev/sdb1 视情况而定。
  3. Linux默认是不支持NTFS文件系统的。

用户登录查看命令

  • w 查看登录用户信息
  • who 查看登录用户信息
    • 命令输出显示:用户名、登录终端、登录时间(登录来源ip地址)

  • last 查询当前登录和过去登录的用户信息
    • last命令默认是读取/var/log/wtmp 文件数据
    • 命令输出:用户名、登录终端、登录IP、登录时间、退出时间(在线时间)
  • lastlog 查看所有用户的最后一次登录时间
    • lastlog命令默认是读取/var/log/lastlog 文件内容
    • 命令输出:用户名、登录终端、登录IP、最后一次登录时间

脚本执行命令

脚本执行方式

  • echo [选项] [输出的内容] 输出指定内容
    • 选项:-e:反斜杠控制转换。
    • 例如:echo -e "\e[1;31m 输出的内容 \e[0m" 其中\e[1;31m表示开启颜色显示;\e[0m表示取消颜色。\e[1;31m\e[0m必须成对出现。
      • 30m:黑色;31m:红色;32m:绿色;33m:黄色;
      • 34m:蓝色;35m:洋红;36m:青色;37m:白色。

写一个简单的脚本

  1. vim xiong.sh # 创建并进入xiong.sh文件
  2. #!/bin/bash # 这一行不能删除
    echo -e "\e[1;31m 输出的内容 \e[0m" # 脚本代码
  3. :wq # 写入并退出
  4. chmod 755 xiong.sh # 赋予执行权限
  5. ./xiong.sh # 执行,还可以通过bash xiong.sh 直接调用脚本

别名与快捷键

  • alias 查看系统中所有的命名别名

  • alias 别名=‘原命令’ 设定命令别名,在该用户下临时生效

  • ~/.bashrc 环境变量配置文件中写入alias 别名=‘原命令’ 方可永久生效。注意:需要调用一遍source .bashrc ,否则需要重新登录才会生效。

  • unalias 别名 删除别名(临时生效的别名)

  • 命令生效的顺序:

    1. 执行用绝对路径或相对路径执行的命令;
    2. 执行别名;
    3. 执行bash的内部命令;
    4. 执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
  • 常用快捷键:

    1. ctrl+C:强制终止当前命令;
    2. ctrl+L:清屏;
    3. ctrl+A:光标移动到命令行首;
    4. ctrl+E:光标移动到命令行尾;
    5. ctrl+U:从光标所在位置删除到行首;
    6. ctrl+Z: 把命令放入后台;
    7. ctrl+R:在历史命令中搜索。

历史命令

  • history [选项] [历史命令保存文件] 查看历史命令
    选项:
    -c:清空历史命令
    -w:把缓存中的历史命令写入
  • 历史命令保存在~/.bash_history 文件中。默认会保存1000条,可以在环境变量配置文件/etc/profile 中进行修改HISTSIZE=1000 的值。
  • 历史命令的调用:
    上下键:调用以前的历史命令;
    !n:重读执行第n条历史命令
    !!:重复执行上一条历史命令
    !字符串:重复执行最后一条以该字串开头的命令。

输出重定向

注意标准输出重定向>>>后面有空格,标准错误输出重定向2>2>>后面没有空格。


同样注意是否存在空格。


  • 输入重定向:
    wc [选项] [文件名] 输出行数,单词数,字节数
    -c:统计字节数;
    -w:统计单词数;
    -l:统计行数。

管道符

  • 多命令顺序执行:

    例如:ls && echo yes || echo no 判断输入ls是否正确。

  • 管道符:
    命令1 | 命令2 命令1的正确输出作为命令2的操作对象,输出最终命令2结果。
    注意与;区分开,;会输出每条命令。

通配符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值