【Linux】Linux的常用命令——文件处理命令、文件搜索命令、压缩与解压命令、关机和重启命令、查看用户信息命令、文件查看命令

linux常用命令

一、常见目录

- /根目录
- /boot 启动目录,启动相关文件
- /dev 设备文件
- /etc 配置文件
- /home 普通用户的家目录,可以操作
- /lib 系统库保存目录
- /mnt 移动设备挂载目录
- /media 光盘挂载目录
- /misc 磁盘机挂载目录
- /root 超级用户的家目录,可以操作
- /tmp 临时目录,可以操作
- /proc 正在运行的内核信息映射,主要输出进程信息、内存资源信息和磁盘分区信息等等
- /sys 硬件设备的驱动程序信息
- /var 变量
- /bin 普通的基本命令,如ls,chmod等,一般的用户也可以使用
- /usr/bin 是你在后期安装的一些软件的运行脚本
- /usr/sbin 放置一些用户安装的系统管理的必备程序

二、文件处理命令

```
    [root@localhost ~]#
```
- root表示当前登录用户
- localhost表示主机名
- ~表示当前用户的家目录
- # 提示符,超级用户是#,普通用户是$
1. 命令格式
    - 命令 [选项] [参数]
    - 当有多个选项时,可以写在一起
    - 一般参数有简化和完整两种写法,比如-a 与 --all等效
2. ls
    - 查询目录中的内容
    - ls[选项][文件或目录]
        - 选项
            - -a显示所有文件,包含隐藏文件,是--all的缩写
            - -l显示详细信息
            - -d查看目录本身的属性而非子文件
                ```
                    比如 当前目录下有test,test下有1.txt,即:
                        当前目录>text>1.txt
                    然后在当前目录输入:
                        ls test
                        显示的是1.txt,也及时test的子目录
                    在当前目录输入:
                        ls -d text
                        显示的是text,也就是只查看text的,不看子目录的
                ```
            - -h 人性化的方式显示文件大小
                - 比如ls -lh与ls -l,这两者的区别就是:假如大小是2034,前者就显示人性化的为2.0k,后者就是2034
            - -i 显示inode,也几岁时i节点,每个节点都有ID号
                ```
                    912132 -rw-r--r--. 1 root root 41364 1月   3 2019 install.log
                ```
                - 912132就是inode
    - 默认当前文件下的文件列表
2.1 -l 显示详细信息
    912132 -rw-r--r--. 1 root root 41364 1月   3 2019 install.lo
详细信息912132drwxr-xr-x.1rootroot413641月 3 2019logs
代表含义inode(i节点)文件类型和权限ACL权限硬链接引用计数所有者所属组文件大小最后修改时间文件名
解释说明详见下面的1.文件权限字节数
  1. 文件权限
    • 分类:
      • 所属者的权限
      • 所属组的权限
      • 其他人的权限(既不是所属者也不是所属组)
    • 举例:drwxr-xr-x
      • d这个位置表示文件类型,d为文件夹
      • rwx 表示所有者权限
      • r-x 表示其他人的权限
3. mkdir
    - 创建目录
    - mkdir -p [目录名]
        - -p 递归创建
3.1 注意
    - mkdir a/b 如果没有a,那么b就无法创建。也就是说必须要父级存在
    - mkdir -p a/b 如果没有a,则先创建a再创建b。可以没有父级。这就是所谓的递归创建。
4. cd
    - 切换所在目录
    - cd [目录]
        - ~家目录
            - root用户的家目录就是/root
            - 普通用户的家目录就是/home/用户名
        - $OLDPWD 返回上次所在的目录
        - -返回上次所在的目录
        - .当前目录
        - ..上级目录
5. pwd
    - 显示当前目录
6. mkdir
    - 删除空目录 remove empty directory
    - rmdir [目录名]
        - 如果不是空目录,不能删除,会报错
7. rm
    - 删除文件或目录 remove
    - rm [操作][文件或目录]
        - -r 删除目录或文件
        - -f 强制删除
    - rm -rf [文件或目录]
        - 递归强制删除所有目录或文件
8. cp
    - copy 拷贝,默认只拷贝文件,要拷贝目录加-r
    - copy [操作][源文件或目录][目标文件或目录]
        - -r 拷贝目录,不加-r默认拷贝文件
        - -p 连带文件属性拷贝
        - -d 若源文件为链接文件,则拷贝链接属性
        - -a 相当于-rpd
9. mv
    - 移动文件或改名
    - mv [源文件或目录][目标文件或目录]
10. ln
    - 链接命令,生成链接文件 link
10.1 硬链接特征(一般不使用)
    - 拥有相同的i节点和存储block块,可以看作是同一个文件
    - 可以通过i节点访问
    - 不能跨分区
    - 不能针对目录使用
    - 一般不使用
    - 删除硬链接产生的文件,不影响源文件或其他硬链接产生的文件
    - 删除源文件,同样不影响其他硬链接产生的文件
    - 举例:
    ```
        ln a.txt newa.txt
        ls -li
        显示:
        534850 -rw-r--r--. 2 root root 0 6月 30 23:55 a.txt
        534850 -rw-r--r--. 2 root root 0 6月 30 23:55 newa.txt

        除了文件名,其他都一样
    ```
10.2 软链接特征
    - ln -s [源文件][目标文件]
        - -s创建软链接
    - 类似Windows快捷方式
    - 软链接拥有自己的i节点和Block块,但是数据块中只保留源文件的文件名和i节点号,并没有实际的文件数据
    - lrwxrwxrwx | 软链接 软链接的文件权限都是 777
    - 删除源文件,软链接不能使用
    - 删除软链接,源文件不影响
    - 软连接源文件必须使用绝对路径
    - 不管改源文件还是软链接文件,另外一个也会跟着变
    - 举例:
        ```
            ln -s 1.txt ln1.txt
            这样就产生了软连接ln1.txt
            于是,ls -li,得到:
            932283 -rw-r--r--. 1 root root 5 7月  16 08:29 1.txt
            932278 lrwxrwxrwx. 1 root root 5 7月  16 08:30 ln1.txt -> 1.txt
        ```

三、文件搜索命令

1. locate
- 使用方式:
    - locate 1.txt
- 使用注意:
    - 如果报错,说没有/var/lib/mlocation.db文件,则使用updatedb命令更新下数据库后再搜索即可
- 原理:
    - 后台数据库会保存所有文件的信息(包含文件名、位置和索引),然后搜索文件其实就是在这个数据库中按文件名搜索,速度比较快
- 特点:
    - 数据保存在/var/lib/mlocate 这个后来数据库中,默认每天更新一次
    - 如果想立刻更新数据库,就使用updatedb
    - 只能搜索文件名
    - 有一个建立索引的配置文件,使用locate命令搜索文件名,会根据这个文件的配置来搜索
        - 文件位置和名称:/etc/updatedb.conf
        - 配置内容:
            - PRUNE_BIND_MOUNTS="yes"全局生效,开启搜索限制
            - PRUNEFS 不搜索的文件系统
            - PRUNENAMES 忽略的文件类型
            - PRUNEPATHS 忽略的路径
2. whereis
- 搜搜命令所在的路径以及帮助文档所在路径
- whereis 命令名称
    - 举例: whereis ls
        - 代表搜索ls这个命令所在的路径以及帮助文档所在的路径
    - -b 只查找可执行文件
    - -m 只查找帮助文件
3. which
- 可以看到别名
    - 比如 which ls
- 能看到的都是外部安装的命令
- 无法查看Shell自带的命令,比如:which cd就不行
4. 环境变量
```
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
```
- 定义的是系统搜索命令的路径
- echo $PATH 输出系统命令存放的路径 
5. find
- 文件搜索命令
- find[搜索范围][搜索条件]
5.1 按名称搜索
- 避免大范围的搜索,会非常消耗系统资源
```
    find / -name aaa.log
```
5.2 通配符
- find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
- 通配符
    - * 匹配任意内容
    - ? 匹配任何一个字符
    - [] 匹配任何一个中括号内的字符
```
    find . -name "ab[cdef"
```
5.3 忽略大小写 -i
```
    find / -iname A.log
```
5.4 按所有者进行搜索 -user
```
    find /root -user root 找/root目录下用户为root的文件
```
5.5 按时间搜索
```
    find /nginx/access.log -mtime +5
```
参数含义
atime文件访问时间
ctime文件属性改变的时间
atime文件内容改变的时间
参数含义
-55天内修改的文件
55天前当天修改的文件
+55天前修改的文件
5.6 按大小搜索
```
    find . -size 100k
```
参数含义
-8k小于8k
8k等于8k
+8k大于8k
+8M小于8M
- 注意:k小写,M大写
5.7 按i节点搜索
```
    find . -inum 123456
```
5.8 综合应用
```
    find /tmp -size +10k -a -size -20k
```

- 上述指令含义:查找/tmp目录下大小大于10l,并且大小小于20k的文件
- -a 表示and的意思,逻辑与,两个条件都满足
- -o 表示or的意思,逻辑或,两个条件满足一个就可以

- exec 对上个命令的结果进行操作
    ```
        find /tmp -size +10k -a -size -20k exec ls -lh {} \;
    ```
5.9 grep
- 在文件当中匹配符合条件的字符串
- grep "10" access.log
    - -i 忽略大小写
    - -v 排除指定字符串
- find命令,在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
- grep命令,在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配

- 举例:
    ```
        grep yuhua 1.txt //在1.txt中搜索yuhua这个字符串,返回这一行

        cat 1.txt | grep yuhua //将|前的结果传到|后的指令中,也就是在1.txt的内容中搜搜yuhua,返回yuhua所在的行

        cat 1.txt | grep -i Yuhua//不区分大小写

        cat 1.txt | grep -v yuhua//不包含yuhua的
    ```
6. 帮助命令
6.1 man命令,获取指定命令的帮助
- man ls 查看ls的帮助文档
- man which 查看chich的帮助文档

四、 压缩与解压缩

- .zip 
- .gz
- .bz2
- .tar.gz
- .tar.bz2
1. zip格式
- 压缩文件或目录,是一种压缩格式
    - 压缩文件 
        ```
            zip 压缩文件名.zip 源文件
        ```
    - 压缩目录 
        ```
            zip -r 压缩目录名.zip 源目录
        ```
    - 解压
        ```
            unzip 压缩目录名.zip
        ```
- 举例:
    ```
        mkdir book
        touch book/1.txt
        touch book.2,txt
        zip -r book.zip bppl
        unzip book.zip
    ```
2. gzip高压
- gzip为高压,可以吧文件压缩得更小
命令示例含义
gizp 源文件gzip a.txt压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件gzip -c yum.txt > yum.txt.gz压缩为.gz格式的压缩文件,源文件不会消失
gzip -r 目录gzip -r xx把目录下的每个子文件都变成压缩包,并删除源文件,当前目录无变化
gzip -d 压缩文件名gzip -d yum.txt.gz解压缩文件,不保留压缩包
gunzip 压缩文件名gunzip yum.txt.gz解压缩文件,也不保留压缩包
- 压缩是压缩目录下的文件
3. .bz格式压缩
- bzip2是一个压缩能力更强的压缩程序
命令示例含义
bzip2 源文件bzip2 1.txt压缩为.bz2格式的文件,不保留源文件
bzip2 -k 源文件bzip2 -k 1.txt压缩为.bz2格式的文件,保留源文件
bzip2 -d 压缩文件名bzip2 -d 1.txt.bz2解压压缩包,不保留压缩包
bunzip2 压缩文件名bunzip2 1.txt.bz2解压压缩包,也不保留压缩包
- bzip2不能压缩目录
4. tar格式压缩
- 打包命令,只打包,不压缩,大小还可能变大
- tar -cvf 打包文件名 源文件
    - -c打包
    - -v显示过程
    - -f指定打包后的文件名

        ```
            tar -cvf book.tar boook  //会出现一个book.tar文件
        ```

- -x解压,与-c相反

        ```
            tar -xvf book.tar
        ```
5. tar.gz压缩格式和tar.bz2格式
- zip可以压缩目录但压缩效率不高,gzip和bzip2压缩效率高但不支持目录
- 所以,可以先打包成.tar格式,再压缩为.gz格式,这样就达到了压缩又支持目录的目的
    - -z表示压缩为.tar.gz格式
    - -x表示解压.tar.gz格式
命令示例含义
tar -zcvf 压缩包名.tar.gz 源文件tar -zcvf book.gar.gz book可以先打包为.tar格式,再压缩为.gz格式
tar -zxvf 压缩包名.tar.gztar -zxf book.tar.gz解压tar.gz压缩包
tar -jcvf 压缩包名 .tar.bz2 源文件tar -jcvf book.tar.bz2 book可以先打包为.tar格式,再压缩为.bz2格式
tar -jxvf 压缩包名.tar.bz2tar -jxvf book.tar.bz2解压tar.bz2压缩包

五、 关机和重启命令

1. shutdown
- shutdown 关机命令
    - -c 取消前一个关机命令
    - -h 关机
    - -r 重启

```
    shutdown -r 06:00
    shutdown -c
```
2. init
- 关机
```
    init 0
```
- 重启
```
    init 6
```
3. logout
- 退出登录
```
    logout
```

六、 查看登录用户的信息

1. w
- 查看登录用户信息
    - USER 登录的用户名
    - TTY 登录的终端 tty1 本地终端 pts/0远程终端
    - FROM 登录的IP
    - LOGIN 登录时间
    - IDLE 用户闲置时间
    - JCPU 该终端所有进程占用的时间
    - PCPU 当前进程所占用的时间
    - WHAT 正在执行的命令
2. who
- 查看登录用户信息
    - USER 登录的用户名
    - TTY 登录的终端 tty1 本地终端 pts/0远程终端
    - LOGIN 登录时间(登录的IP)
3. last
- 查看当前登录和过去登录的用户信息 默认读取 /var/log/wtmp 文件
    - 用户名
    - 登录终端
    - 登录IP
    - 登录时间
    - 退出时间(在线时间)
4. lastlog
- 查看所有用户的最后一次登录时间
    - 用户名
    - 登录终端
    - 登录IP
    - 最后一次登录时间

七、文件查看命令

1. cat
- cat命令用于连接文件并打印到标准输出设备上
- cat[-AbeEnstTuv][--jelp][--version]fileName
- 参数
    - -n 或 --number:由1开始对所有输出的行数编号
        ```
            cat -n 1.txt
        ```
2. more
- 类似cat,不过这个可以分页,按空格(space)就查看下一页,按b就查看上一页,而且还有搜寻字符串的功能(与vi相似),使用中的说明文件,请按h
- more fileName
```
    more 1.txt
```
3. head
- 用来显示开头某个数量的蚊子块
    ```
        head -5 readme.txt
    ```
    - 用于查看前五行
4. tail
- 用来查看文件内容
- tail[参数][文件]
- 参数
    - -f 循环读取 (类似监控)
    - -n<行数>,显示尾部n行的内容
    ```
        tail -5 1.txt //显示1.txt的最后5行
        tail -f access.log //循环读取access.log,常用于查看日志,当日志变化的时候,会直接显示出来
    ```
1. 综合应用:分页查看第二页
```
    head -10 file | tail -5
```
- 先读取file的前10行,然后查看读取出来内容的后5行。相当于对1-10行做了分页,1-5为第一页,5-10位第二页,这个命令是查看第二页
5. >与>>
- > 表示重写
    ```
        echo data > 1.txt
    ```
    - 将字符串data写入到1.txt,会将1.txt覆盖

- >> 表示追加
    ```
        echo data >> 1.txt
    ```
    - 将字符串data追加到1.txt,会在原本内容后面续写
关于磁盘管理这块,主要由fd du 添加新硬盘后的分区和格式化 FPT 格式化 挂在 添加swap交换分区 等等,在这并不写入。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值