Linux常用命令总结

一. Linux文件系统

Linux采用层级式树状目录结构,全部文件至于一个根目录"/",在此根目录下再创建其它的目录。在Linux中,一切皆文件

1.inode 是什么?有什么作用呢?

inode 是 linux/unix 文件系统的基础。

  • 硬盘的最小存储单位是扇区(Sector),块(block)由多个扇区组成。**文件数据存储在块中。**块的最常见的大小是 4kb,约为 8 个连续的扇区组成(每个扇区存储 512 字节)。一个文件可能会占用多个 block,但是一个块只能存放一个文件。
  • 虽然,我们将文件存储在了块(block)中,但是我们还需要一个空间来存储文件的 元信息 metadata :如某个文件被分成几块、每一块在的地址、文件拥有者,创建时间,权限,大小等。这种 存储文件元信息的区域就叫 inode,译为索引节点:i(index)+node。 每个文件都有一个 inode,存储文件的元信息。
  • 可以使用 stat 命令可以查看文件的 inode 信息。每个 inode 都有一个号码,Linux/Unix 操作系统不使用文件名来区分文件,而是使用 inode 号码区分不同的文件。

简单来说:inode 就是用来维护某个文件被分成几块、每一块在的地址、文件拥有者,创建时间,权限,大小等信息。

简单总结一下:

  • inode记录文件的属性信息,可以使用 stat 命令查看 inode 信息。
  • block :实际文件的内容,如果一个文件大于一个块时候,那么将占用多个 block,但是一个块只能存放一个文件。(因为数据是由 inode 指向的,如果有两个文件的数据存放在同一个块中,就会乱套了)
2. Linux 文件类型

Linux 支持很多文件类型,其中非常重要的文件类型有: 普通文件,目录文件,链接文件,设备文件,管道文件,Socket 套接字文件等。

  • 普通文件(-) : 用于存储信息和数据, Linux 用户可以根据访问权限对普通文件进行查看、更改和删除。比如:图片、声音、PDF、text、视频、源代码等等。
  • 目录文件(d,directory file) :目录也是文件的一种,用于表示和管理系统中的文件,目录文件中包含一些文件名和子目录名。打开目录事实上就是打开目录文件。
  • 符号链接文件(l,symbolic link) :保留了指向文件的地址而不是文件本身。
  • 字符设备(c,char) :用来访问字符设备比如硬盘。
  • 设备文件(b,block) : 用来访问块设备比如硬盘、软盘。
  • 管道文件(p,pipe) : 一种特殊类型的文件,用于进程之间的通信。
  • 套接字(s,socket) :用于进程间的网络通信,也可以用于本机之间的非网络通信。
3. Linux常用目录
  • /bin: 存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里;
  • /etc: 存放系统管理和配置文件
  • /home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是/home/user,可以用~user 表示;
  • /usr : 用于存放系统应用程序;
  • /opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
  • /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
  • /root: 超级用户(系统管理员)的主目录(特权阶级o);
  • /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
  • /dev: 用于存放设备文件
  • /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
  • /boot: 存放用于系统引导时使用的各种文件;
  • /lib : 存放着和系统运行相关的库文件 ;
  • /tmp: 用于存放各种临时文件,是公用的临时文件存储点;
  • /var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
  • /lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里。

二. Vi和Vim

Vi是Linux内置的文本编辑器,Vim是Vi的增强版,具有程序编辑的能力

Vi和Vim有三种模式:正常模式,编辑模式,命令行模式

  • 正常模式输入i进入编辑模式,输入":"进入命令行模式,在命令模式中输入wq会保存并退出,q会退出,!q会强制退出

Vim中的快捷键:

  • yy:拷贝当前行
  • nyy:拷贝n行
  • p:粘贴
  • dd:删除当前行
  • /关键词:查找某个关键词
  • set nu:设置文件行号
  • set nonu:取消文件行号
  • G:到最末行
  • gg:到最首行
  • u:撤销
  • set nu+行号+shift + g:光标移动到指定行

三. 用户管理

Linux是多任务多用户操作系统,任何一个要使用系统资源的用户,必须先申请一个账号,而每个用户属于一个用户组。

常用指令 :

  • useradd 用户名:添加用户
  • passwd 用户名:给用户设置密码
  • userdel 用户名:删除用户,但保留用户家目录
  • userdel -r 用户名:删除用户,并删除用户家目录
  • usermod 选项 用户名:修改帐号
  • id 用户名:查询用户的id,gid,所在组名称
  • su 用户名:切换用户
  • exit:切换到原用户

用户组相关:

  • groupadd 组名:添加组
  • groupdel 组名:删除组
  • useradd -g 用户组 用户名:增加用户时直接加上组
  • usermod -g 用户组 用户名:修改用户的组

用户和组的相关文件:

  • 用户配置文件:/etc/passwd
  • 组配置文件:/etc/group
  • 口令配置文件:/etc/shadow (存放密码)

四. 常用指令

1. 指定运行级别:

Linux共有七种运行级别:
0:关机
1:单用户(root密码丢失可使用该级别修改密码)
2:多用户无网络
3:多用户有网络
4:保留
5:图形界面
6:重启

  • init [级别]:进入指定级别
2. 帮助指令:
  • man [命令或配置文件]
  • help [命令]

最好直接在百度上找

3. 目录类:
  • pwd:显示当前工作目录的绝对路径

  • ls [选项] [目录或文件]:查看目录所有内容信息
    -a:显示隐藏文件
    -l:以列表方式显示信息

  • cd:切换路径
    cd …(或cd…/): 切换到上一层目录
    cd /: 切换到系统根目录
    cd ~: 切换到用户主目录

  • mkdir:创建目录
    -p创建多级目录

  • rmdir:删除空目录

4. 文件类:
  • touch:创建新文件
  • cp [选项] source dest:拷贝文件
    -r 递归拷贝整个文件夹
  • rm:删除文件
    rm -rf:递归强制删除整个文件
  • mv:移动文件或重命名文件
    mv 原文件 新文件 (重命名)
    mv 原文件 目标目录 (移动文件)
  • cat:查看文件内容
    -n显示行号
  • more:分页查看文件 一般使用|more
  • less:分页查看文件,但是一次加载一部分而不是整个文件(用于查看大型文件)
  • “>”:输出重定向,会将原文件内容覆盖
  • “>>”:输出重定向,追加到原文件末尾
    如 ls -l > a.txt 会将查询到的内容写到a.txt中
  • “&>”:无论命令是否正确执行,都会将原文件内容覆盖
  • “&>>”:无论命令是否正确执行,都会追加到原文件末尾
  • echo:输出内容到控制台
  • head:显示文件开头部分(默认前10行)
  • tail:显示文件尾部内容
    tail -f 文件:实时追踪文档所有更新
  • ln:软链接
  • history:查看已执行过的命令
    history+数字:显示最近的几个指令
    !行号:再执行一次对应行号的指令
5.时间日期类:
  • date:显示当前时间
  • date “+%Y%m%d%H%M%S”:显示年月日时分秒
  • date -s 时间:设置系统时间
  • cal:查看日历
  • cal 年份:查看一年的日历
6.搜索查找类:
  • find [搜索范围] [选项]:从指定目录向下递归地遍历各个子目录
    • -name:按文件名查找
    • -user:查找该用户的文件
    • -size:按大小查找 (+n大于 -n小于 n等于,如find /home -size +20M搜索/home下大于20M的文件)
  • grep [选项] 查找内容 源文件:过滤查找
    -n:显示行号 -i:忽略字母大小写
    通常配合管道符:如 cat hello.txt | grep xxx
7.压缩解压类
  • zip/unzip
    zip [选项] xxx.zip 源文件或目录
    -r:递归压缩文件 -d<目录>:指定解压缩后的存放目录
  • tar:打包指令
    tar -zcvf xxx.tar.gz 源文件:打包
    tar -zxvf xxx.tar.gz:解压缩(-C可以指定解压到哪个目录)

五. 组管理和权限管理

Linux中每个文件都有所有者,所在组和其他组的概念,查看文件时的前三个权限就分别对应这三个概念的权限:
在这里插入图片描述

其中权限分为:

  • r:可读 ,r 也可以用数字 4 表示
  • w:可修改(文件权限),可删除(目录权限),w 也可以用数字 2 表示
  • x:可执行(文件权限),可进入(目录权限),x 也可以用数字 1 表示

需要注意的是: 超级用户可以无视普通用户的权限,即使文件目录权限是 000,依旧可以访问。

常用命令:

  • chown 用户名 文件名:修改文件所有者
  • chgrp 组名 文件名:修改文件所在组
    -R:使其子文件和目录递归生效
  • chmod 数字 文件名:修改文件权限
    其中 r=4 w=2 x=1,修改权限只需把需要的权限数字相加
    如 chmod 751 xx.txt

六. 定时任务调度

  • crontab [选项]:
    -e:编辑定时任务
    -l:查询定时任务
    -r:删除当前用户所有任务

  • 定时任务的前五个数字分别代表 分,小时,天,月,星期几
    如 */1 * * * * ls -l > to.txt:每隔一分钟把查到的内容写到to.txt中
    0 2 * * * /home/mytask3.sh:每天两点执行mytask3.sh脚本

参数:
*代表任何时间
,代表不连续的时间
-代表连续的时间范围
/代表每隔多少时间
\

七. 磁盘分区、挂载

Linux磁盘采用挂载的方式,将一个分区和一个目录联系起来

常用指令:

  • lsblk -f :查看系统的分区和挂载情况
  • df -lh:查看当前磁盘使用情况
  • du -h/目录:查询指定目录磁盘使用情况
  • tree:以树状显示目录结构
  • 统计文件个数: ls -l /home | grep “^-” | wc -l
  • 统计文件个数(包含子文件): ls -lR /home | grep “^-” | wc -l

八. 网络

1. 配置IP地址

Linux的IP地址可以自动获取或指定固定的IP地址,作为服务器时应该使用固定的IP地址

配置方法:
修改网卡的配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33
并修改ONBOOT=yes,BOOTPROTO=static,修改IPADDR,GATEWAY(网关),DNS

2. 常用命令
  • ifconfig:查看当前系统的网卡信息:
  • ping:查看与某台机器的连接情况:
  • netstat -an:查看当前系统的端口使用
3. 如何查看端口的占用情况
  1. lsof -i:端口号
  2. netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况

九. 进程管理

  • ps -aux | grep xxx :查看指定进程
    内容包括:PID,TTY(终端机号),TIME(进程消耗CPU时间),CMD(正在执行的命令或进程),VSZ(占用虚拟内存),RSS(使用物理内存情况),STAT(进程状态,S为休眠,r运行,z僵死进程)
  • ps -ef:查看父进程
  • pstree:以树状形式查看进程信息
  • kill [选项] 进程号:通过进程号杀死进程
    -9:强制进程立即停止
  • killall 进程名称:通过进程名称杀死进程
  • sudo + 其他命令:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

服务管理:

  • systemctl:列出所有activeunit
  • systemctl list-units-all:列出所有unit,包括unactive的
  • systemctl [status | is-active | stop | start | is-enabled(是否开机自启动) | disabled(禁止开机自启动) | enable | restart | mask(注销)] 服务名

进程监控:

  • top:动态监控进程执行情况
    输入 u+用户名,可监视特定用户
    输入 k+pid,可杀死指定进程
    P:以CPU使用率排序
    M:以内存使用率排序
    N:以PID排序
    q:退出
  • netstat -anp:监控网络状态

十. RPM与YUM

  • rpm -q 软件名:查看有没有安装某软件
  • rpm -e 软件名:卸载软件
  • rpm -ivh RPM包全路径名:安装软件
  • yum list | grep xx 软件名:查看在yum服务器上有没有该软件
  • yum install 软件名:安装软件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值