Linux基础命令

Posted zhaye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础命令相关的知识,希望对你有一定的参考价值。

Linux基础命令

一、Linux系统目录结构

/ -- 根目录

/bin -- 系统可执行程序存放目录

/boot -- 内核和启动程序的相关文件都在此目录下

/lib -- 库目录,主要存放系统最基本的动态共享库

/media -- 挂载设备媒体,U盘,光驱等

/mnt -- 该目录是为了让用户挂载别的文件系统

/usr(unix system resources) -- 庞大和复杂的目录,很多应用会安装到此目录

/usr/local -- 用户自己安装软件的目录

/sbin -- 超级管理员root的可执行文件目录

/proc -- 这个目录是系统内存的映射,会保留进程运行的一些信息

/etc -- 系统软件的启动和配置目录

/etc/passwd -- 用户存放文件 man 5 passwd 查看文件格式

/dev -- 设备文件所在目录

/home/user -- 用户家目录

 

Linux一切皆文件

二、相对路径和绝对路径

  1. 以“/”开始的为绝对路径

  2. 以" . "或者“ .. ”开始的路径,“ . ”代表当前路径 ,“ .. ”代表上一级路径 

三、常用命令

3.1 基本操作

  1. history -- 查看历史命令 可以方向键上下查看之前的命令

  2. man -- 查看命令帮助

  3. ls(list) -- 查看文件信息

    • -a:查看全部文件,文件前带" . "是隐藏文件

    • -l:查看文件的详细信息

    • -h:适合人看的大小,如 1k,2M,3G
    • -R:递归查看子目录的文件信息

    • -lrt:文件按照修改时间排序

    • 通配符

      • 任意多字符:*

      • 任意一个字符:?

     

3.2 目录相关操作

  1. cd:更改目录

    • cd /home

    • cd ..:返回上一层

    • cd ~:回到home/user目录

    • cd

    • cd $HOME

    • cd -:回到上一次所在的目录

  2. ren@linux:~/code$:目录介绍

    • ren:代表用户

    • linux:代表机器名

    • ~:代表家目录

    • code:家目录下面的当前目录

    • $:代表普通用户

    • #:代表管理员

  3. pwd:打印当前工作路径

  4. which

    • which ls :查看 ls 命令所在路径

    • cd 命令是bash自身带的命令

  5. mkdir:新建文件夹

    • mkdir dir1 dir2:创建多个目录

    • mkdir dir1/dir2:在dir1下面创建dir2,前提是dir1必须存在

    • mkdir dir1/dir2 -p :递归创建目录

  6. rmdir:删除文件夹

    • rmdir dir

    • 空目录定义:只包含" . " 和 “ .. ”的目录

    • rmdir dir1/dir2 -p:如果dir2删除后,dir1为空,那么会递归删除

 

3.3 文件相关操作

  1. touch:创建文件

    • touch [option] filename1 filename2:创建文件,如果 文件存在,则修改文件的最后修改时间

  2. rm:删除文件或文件夹

    • rm filename

    • rm -rf*:强制删除目录下全部内容

      • -r:递归删除子目录

      • -f (force):强制

  3. cp(copy):拷贝文件或目录

    • cp [option] srcpath despath

      • despath 是一个目录,将 srcpath 拷贝到 despath 目录下

      • despath 不是一个目录,在despath上级目录(../xxx),在../下创建一个xxx文件,并将srcpath的内容拷贝进来

    • cp -r aa/ee /bb:递归拷贝目录,将aa下的ee拷贝到bb目录下

  4. mv(move):移动

    • mv src des:重命名文件或者目录

    • mv src des:移动文件或目录到其他目录,注意,des代表一个路径

    • mv src des:移动并改,des是其他路径下的文件名

 

3.4 文件内容相关操作

  1. cat:将文件内容显示到终端,如果无文件,则读标准输入

    • cat filename:直接显示文件信息到屏幕

  2. more:分屏查看文件

    • more file:空格,一页一页显示,回车逐行显示

  3. less:分屏显示

    • less file:回车或上下键可以反复查看文件内容

  4. head:从头部查看文件

    • head -n file:显示文件头n行,如果不加默认显示10行

  5. tail:从尾部查看文件

    • tail -n file:显示文件末尾n行,如果不加默认显示10行

    • tail -f file:查看文件尾部内容,不退出,用于追踪日志

 

3.5 统计信息

  1. tree:树状显示目录结构(sudo apt install tree

  2. wc(word count):统计文件内容,默认显示:行,单词数,字节数

    • wc * :统计整个目录

      • -l:显示行数

      • -w:显示单词数

      • -c:显示字节数

  3. du:查看当前路径使用情况

    • du -h:更适合人类观察

    • du -h --max-depth=1:递归一级子目录

  4. df:查看硬盘剩余情况

    • df -h:显示磁盘使用情况

    • df -h --block-size=GB:按照GB统计显示

四、文件属性和用户用户组

文件属性

文件夹权限标志位 用户 用户组 大小(目录一般都是4096) 时间 目录

技术图片

技术图片

       技术图片

  1. - rw- r-- r--:文件权限标志位 - rwx rwx r-x:a.out d rwx r-x r-x:目录权限标志位

    • 文件类型

      • -:普通文件
      • d:目录文件
      • l:符号连接文件
      • c:字符设备,char
      • b:块设备,block
      • p:管道设备,pipe
      • s:本地套接字,socket
    • 归属用户的权限

      • r:可读

      • w:可写

      • x:可执行

      • 如果对应位置无权限写 -

    • 归属组的权限

    • 其他用户的权限 

    • 权限位数字表示法(8进制数)

      • rw-:110 --> 6 用户位

      • r--:100 --> 4 组权限位

      • r--:100 --> 4 其他权限位

      • 三个数连接起来前面 +0 (0644)

  2. 1: 硬连接计数

  3. ren:用户

  4. ren:用户组

  5. 8980:大小

  6. 4月 11 14:49:时间

  7. examples.desktop:文件名

 

用户用户组

  1. whoami:显示当前用户

  2. ln:建立软硬连接

    • ln -s 源文件 目标软连接名:建立软连接,目录也可以创建软连接。软连接不会增加硬连接计数,相当于创建一个快捷方式。

    • ln 源文件 目标文件:建立硬连接

      技术图片

      硬连接,hello,hello.hard,hello.hard1引用的同一块磁盘块,值是一样的。

    • unlink filename:删除引用计数和文件,当引用计数为0时,文件被删除。

    • stat file:可以查看文件的 inode 信息

  3. chmod:改变文件的权限

    • chmod [u|g|o|a] [+|-] [r|w|x] file:可以用 + 或者 - 增加权限,减少权限 -- [ user | group | other | all ]

    • chmod -x file:如果不加用户和组等信息,则默认是a,代表全部

    • chmod 0664 file:按照数字表示法设置权限位

  4. chown:改变用户 -- 文件名|目录

    • sudo chown user:group file:可以修改file 的所有者和所属组

    • sudo chown user file:只修改所有者

  5. chgrp:改变组

    • sudo chgrp groupname file:修改文件所属组

五、查找和检索 

1、find:查找

  • -name:按文件名查找
    • find + 路径 + -name + 文件名
    • find /home -name a.txt
  • -size:按文件大小查找
    • find + 路径 + -size + 范围
      • 范围
        • 大于:+表示 -- +100k
        • 小于:-表示 -- -100k
        • 等于:不需要添加符号 -- 100k
        • 取中间值: find /home -size +1M -size -5M
  • -type:按类型查找
    • find + 路径 + -type + 类型
      • 类型
      • f -> 普通文件类型
      • d -> 目录
      • l -> 符号连接
      • b -> 块设备文件
      • c -> 字符设备文件
      • s -> socket 文件
      • p -> 管道
  • -maxdepth:最深路径,当前路径1,下一级2
    • find ./ -maxdepth 1 -size +1M`:当前路径下大于1M

      前面查到的结果传递给后边的指令 ,exec跟ok差不多,ok是安全模式,每一条指令都会提示。结果特别多会造成指令的溢出

    • find ./ -maxdepth 1 -size +1k -exec ls -lh \\;
    • find ./ -maxdepth 1 -size +1k -ok ls -lh \\;
  • xargs:把find 查找的结果分成若干个块,按块输出给后面的指令
    • find ./ -type l |xargs ls -l

2、grep:检索,内容过滤

  • grep [option] 内容 dir|filename
    • -n:显示行号
    • -r:递归子目录
    • -v:过滤输出结果
    • find ./ -type f |grep txt:find与grep结合使用
    • cat txt.c |grep main:查找指定文件内是否有main
    • tail -f tcpsrv.1705 |grep connect:分析日志

3、xargs:将前一个目录的输出分成小块输入给后面的命令

六、压缩包管理

  1. zip压缩命令

    • zip -r dir.zip dir :打包,-r代表递归子目录 例:zip -r bb.zip bb hello
    • unzip dir.zip:解包,例:unzip bb.zip
  2. .gz格式的压缩包:gzip与gunzip,不能操作目录,基本不用

  3. rar压缩

    • rar a -r 压缩包名(自动添加后缀) 要压缩的文件
    • rar a -r newdir dir
      • a:压缩
      • -r:递归
    • rar x newdir.rar
  4. tar高级打包命令

    1. 只打包不压缩
      • 打包:tar cvf dir.tar dir
      • 解包:tar xvf dir.tar
    2. gz格式,最常用打包工具
      • 打包:tar zcvf dir.tar.gz dir
        • z:gz格式压缩,不带z就是tar包,带z就是 gz
        • c:压缩文件
        • v:显示信息
        • f:指定压缩包名
          • tar [option] 压缩包名 要打包的内容
          • 例:tar zcvf bb.tar.gz bb
      • 解包:tar zxvf dir.tar.gz
        • x:解压
    3. bzip2格式
      • 打包:tar jcvf dir.tar.bzip2 dir
      • 解包:tar jxvf dir.tar.bzip2

七、软件安装和卸载

1、apt 自动安装软件,需要知道软件名称
  Ubuntu:apt
    sudo apt update     更新源,其实就是更新 /etc/apt/sources.list 这个文件
    sudo apt install tree  安装 tree命令
    sudo apt remove tree  卸载tree命令
    sudo apt clean     清理包
  CentOS:yum 
 
2、dpkg:根据deb安装包来安装软件
  sudo dpkg -i tree.deb   安装软件包
  sudo dpkg -r tree.deb   移除软件包 
 
3、源码安装(通用,非绝对)
  1. 解压缩源代码包
  2. cd dir
  3. ./configure  --检测文件是否缺失,创建Makefile,检测编译环境
  4. make --编译源码,生成库和可执行程序
  5. sudo make install --把库和可执行程序,安装到系统路径下
  6. sudo make distclean --删除和卸载软件

八、用户管理

  1. 创建用户

    • -s:指定 shell
    • -g:指定组
    • -d:用户家目录
    • -m:家目录不存在时,自动创建
    • 例:sudo useradd -s /bin/bash -g itcast -d /home/itcast -m itcast
  2. 设置用户组

    sudo groupadd itcast:增加 itcast 用户组

  3. 设置密码:sudo passwd itcast

  4. 切换用户

    • su itcast:切换到 itcast 用户
    • su -itcast:切换到 itcast 用户,带有环境变量
  5. root 用户:sudo su

  6. sudo userdel itcast:删除用户

  7. sudo userdel -r itcast:删除用户连带删除目录 

九、进程管理

  1. who:查看登录设备

  2. ps:查看进程信息

    • ps aux
    • ps ajx
  3. kill:杀死进程,kill -9 pid

  4. env:环境变量,echo $SHELL

  5. top:查看系统信息

十、网络管理

  1. ifconfig:查看ip信息

    • eth0代表本地第一块网卡
    • sudo ifconfig eth0 ip
  2. ping :ping域名

    • -c:只能ping四次
  3. nslookup:通过域名得到ip

  4. netstat:查看网络连接状态

    • nsetstat -an |grep port

十一、其他常用命令

  1. alias :配置命令别名
    • alias ll:查看ll命令的重命名
    • alias rm :查看rm命令的重命名
  2. man:帮助手册
    • man man:查看man的帮助手册
  3. date:日期指令
    • date:获得系统时间
    • date +‘%Y%m%d‘:获得当前日期
  4. umask:文件权限补码
    • umask:显示八进制文件掩码 ,0002取反 0775&666 -> 664
    • umask -S:文件表示法显示对应的补码权限,u=rwx,g=rwx,o=rx
  5. echo:输出变量或者字符串

十二、关机重启

  1. 关机
    • shutdown -h now :立刻关机重启
    • shutdown -h +1 :1分钟后关机
    • init 0:关机
    • poweroff:关机
  2. 重启:
    • reboot
    • shutdown -r +1:一分钟后重启
    • init 6
  3. 注销:
    • logout
    • exit
    • ctrl+d
 

以上是关于Linux基础命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux运维基础:Linux基础命令

Linux运维基础:Linux基础命令

Linux基础命令

Linux基础知识--命令的基础知识

⭐️《Linux 系列》⭐️ Linux 基础命令

⭐️《Linux 系列》⭐️ Linux 基础命令