Linux笔记:命令基础说明与常用命令

Linux笔记:命令基础说明与常用命令文章目录目的基础说明常用命令总结目的基础说明常用命令总结_linuxfine-name

目的

使用linux来说对于命令的操作是最基础的,后面编写shell脚本主要也是对于命令的操作,所以非常有必要对此命令进行了解。这篇文章将对一些常用的命令进行说明。

基础说明

在linux中我们通常在shell中使用命令来完成各种操作,现在大部分linux发行版中默认的shell程序是bash。bash有很多实用的功能:

  • 使用 按键来选择之前执行过的命令;
  • 使用 tab 键可以实现自动补全,如果键入的前缀不唯一则可以 双击tab 提示;
  • 使用 ctrl + c 结束当前操作;
  • 使用 ctrl + l(小写L) 清屏;
  • 使用 ctrl + d 登出;

在这里插入图片描述

常用命令

下面对命令的分类只是依据我的习惯笼统的分类的。很多命令本身并不没有这些分类属性的,根据实际情况可以用在很多地方。

常用杂项

  • man 查看用户文档
    按q键退出文档
  • info 查看信息文档
  • clear 清屏

在这里插入图片描述

  • sync 将缓存中的数据同步保存到磁盘中
  • date 打印或设置系统时间
    date 打印当前时间
    date +%Y%m%d 打印当前年月日
    date +%Y-%m-%d 打印当前年月日并且中间用-连接
    date +%H:%M:%S 打印当前时分秒并且中间用:连接

关机与重启

关机和重启相关的指令其实很多的,比如halt、poweroff、init 0、init 6等等,大多数来说无非都是相互调用而已,记住shutdown基本就够用了。

  • shutdown 关机
    shutdown now 立即关机
    shutdown hh:mm 在hh:mm时刻关机(24小时制)
    shutdown +m 在m分钟后关机
    shutdown -c 取消关机
  • poweroff 立即关机
  • reboot 立即重启

在这里插入图片描述

用户与权限

linux中很多操作需要权限,最常用的就是sudo这个方式来提升权限了。

  • sudo 临时获得root用户权限(能不能用sudo还得看你是不是有这个权限 233~)
  • su 切换用户
    su - 切换到root用户
    su username 切换到某个用户
  • passwd 修改用户密码
    passwd username
    ubuntu中默认的root用户是没有设置过密码的,可以使用 sudo passwd root 方式设置密码

在这里插入图片描述

  • chmod 用来变更文件或目录的权限
    这条指令在运行很多网上下载的脚本或程序的时候用到比较多,经常需要给下载的文件开放权限后才能执行,linux中文件权限如下:
    在这里插入图片描述
    其中u表示文件所有者,g表示用户组,o表示其他用户,另外还可以用a表示全部的三者;
    每一级可以分别设置读、写、执行的权限;
    权限可以用对应位置位清零、使用±=设置rwx来启用和禁用;
    下面是一些示例:
    chmod ugo+r file 所有用户启用对file的可读权限
    chmod a-w file 所有用户禁用对file的写入权限
    chmod u+x file.sh 文件所有者启用对file.sh的可执行权限
    chmod o=rw- file 其它用户对file的权限设置为可读可写不可执行
    chmod 700 file 文件所有者启用对file的所有权限、用户组和其他用户禁用所有权限
    chmod 760 file 文件所有者启用对file的所有权限、用户组权限设置为可读可写不可执行、其他用户禁用所有权限
    chmod 777 file 所有用户启用对file的所有权限
    chmod -R 777 * 所有用户递归启用当前目录下所有文件和目录的所有权限

在这里插入图片描述

  • last 显示用户登录信息

目录和文件操作

目录和文件相关的操作算是linux中用的最多的操作了,毕竟linux中一切皆文件。

  • pwd 显示当前目录
  • ls 列出当前目录下的文件和子目录
    常用选项:
    -a 列出文件和子目录,包括隐藏文件
    -l 以列表形式列出详细内容
    -lh 以列表形式列出详细内容,大小以K、M、G表示
    -F 列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
  • tree 以树状格式列出目录的内容
    默认情况下可能没有该命令,需要安装tree模块
    常用选项:
    -a 显示隐藏文件
    -d 只列出目录
    -L 限制显示深度
    -s 列出文件和目录的大小
  • cd 切换工作目录
    cd Desktop/ 切换到Desktop目录
    cd / 切换到根目录
    cd ~ 切换到用户自己的home目录
    cd .. 切换到上级目录

在这里插入图片描述

  • mkdir 创建目录
    mkdir dirmane 创建名为dirmane的目录
    mkdir -p dir1/dir2 在dir1下创建dir2,如果dir1不存在则同时创建dir1
  • rmdir 移除空目录
    rmdir -p dir1/dir2 移除空目录dir2,此时若dir1也成为空目录的话接着移除dir1
  • rm 删除文件或目录 (慎用)
    rm -i 删除前询问
    rm -f 强制删除
    rm -r 删除目录下所有文件和子目录
    rm -rf /rm -rf /* 千万别用!!!

在这里插入图片描述

  • mv 修改文件和目录的名称 或 将文件和目录移动到其它目录下
    常用选项:
    -u 当源文件比目标文件新或者目标文件不存在时,才执行移动操作
    -i 如果出现同名覆盖的情况先进行询问
    -f 如果出现同名覆盖的情况强制覆盖
    示例:
    mv file1 file2 将文件file1改名为file2
    mv file1 directory1 将文件file1移动到目录directory1
    mv directory1 directory2 若directory2不存在则将directory1改名为directory2;若directory2存在则将directory1移动到directory2
  • cp 复制文件或目录
    常用选项:
    -i 如果出现同名覆盖的情况先进行询问
    -f 如果出现同名覆盖的情况强制覆盖
    -r 复制目录下所有文件和子目录
    示例:
    cp file1 file2 将文件file1复制为file2
    cp file1 directory1 将文件file1复制到目录directory1
    cp -r directory1 directory2 将目录directory1和其中的内容复制到目录directory2

在这里插入图片描述

  • cat 读取文件并显示
    cat file1 显示file1内容
    cat -n file1 显示添加行号后的file1内容
  • tail 显示文件最后的内容
    tail file 显示file最后10行内容
    tail -n 5 file 显示file最后5行内容
    tail -f file 显示file最后10行内容,如果有文件更新则继续输出新内容
  • touch 修改文件或者目录的时间属性
    touch file 将file的访问/修改时间改为现在的系统时间,如果file不存在则将创建file文件

在这里插入图片描述

打包与压缩

  • tar 打包/解包
    常用选项:
    -c 打包文件
    -x 解包文件
    -t 列出包内容
    -z 使用gzip方式处理
    -j 使用bzip2方式处理
    -J 使用xz方式处理
    -v 显示执行过程
    -f 指定文件名
    -C 指定输出目录
    示例:
    tar -czf directory.tar.gz directory/ 将directory目录和其中所有内容打包成directory.tar.gz文件
    tar -czf file.tar.gz file1 file2 将file1和file2打包成file.tar.gz文件
    tar -tzf file.tar.gz 列出file.tar.gz包中所有的内容
    tar -xzf file.tar.gz 解包file.tar.gz

在这里插入图片描述

  • gizp 压缩/解压.gz格式文件
    常用选项:
    -k 处理后不删除源文件
    -d 解压.gz文件
    -r 压缩目录及其中所有内容
    示例:
    gzip file 将file文件压缩成file.gz文件
    gzip -d file.gz 将file.gz文件解压
  • bzip2 压缩/解压.bz2格式文件
    操作和选项同gizp
  • zip 压缩成.gz格式文件
    常用选项:
    -q 不显示执行过程
    -r 压缩目录及其中所有内容
    示例:
    zip file.zip file 将file压缩成file.zip文件
  • unzip 解压.zip格式文件
    常用选项:
    -q 不显示执行过程
    -l 不解压显示压缩包中内容
    -o 遇到重名文件不询问直接覆盖
    示例:
    unzip file.zip 解压file.zip文件

在这里插入图片描述

搜索与查找

  • find 查找文件
    fine命令可以在指定目录中根据名称、所有者、修改时间、文件大小等方式来寻找文件
    常用检查项:
    -name 依据文件名查找
    -type 依据类型查找,b块设备、d目录、c字符设备、p管道、l符号链接、f普通文件、s socket
    -size -n-size +n 依据大小查找,-n表示小于等于、+n表示大于,单位可选 c字节、k千、M兆、G千兆等等
    -mtime -n-mtime +n 依据修改天数查找,-n表示小于等于、+n表示大于
    -mmin -n-mmin +n 依据修改分钟数查找,-n表示小于等于、+n表示大于
    -perm 依据文件权限查找
    -user 依据所有者查找
    -group 依据所属组查找
    常用动作:
    -print 标准输出
    -exec command {} \; 执行命令并且不提示
    -ok command {} \; 先提示选择执行命令
    示例:
    find ~ -name "hello*" 在用户目录下查找名称以hello开头的文件
    find . -size -5k 在当前目录下查找小于等于5k的文件
    find . -size +5k -type f 在当前目录下查找大于5k的普通文件
    find . -size +5k -exec rm {} \; 在当前目录下查找大于5k的文件并删除(慎用)

在这里插入图片描述

  • which 查找命令/程序所在的路径
  • whereis 查找二进制文件、源代码、用户手册、命令所在的位置
  • locate 通过文件名寻找文件
    这个命令寻找文件是从数据库中寻找的,所以通常会比find这些命令要快;
    数据库通常会每天自动更新,如果需要可以使用updatedb命令手动更新;
    有的系统默认没有locate指令,可以安装mlocate包来获得;
  • grep 查找符合条件的文本内容
    grep经常和管道命令符 | 组合起来使用,对某个命令的结果进行筛选后再输出

在这里插入图片描述

系统运行与管理

  • top 动态的显示进程及资源使用负载情况
    进入top显示后可以按q键退出,可以使用↑←↓→和home、end、pageup、pagedown等进行移动和翻页;
    在这里插入图片描述
    第一行显示当前时间、运行时长、总连接数、最近1&5&15分钟系统的平均负载;
    第二行显示总任务、当前运行、休眠、停止和僵尸任务数;
    第三行显示用户、内核、用户改变过优先级的进程、空闲、等待输入输出、硬件中断、软件中断、虚拟机等的CPU占比;
    第四行显示总的、已使用的、空闲的等内存情况;
    第五行为交换分区使用情况;
    第六行分别为进程PID、用户、PR优先级、NI优先级、虚拟内存、物理内存、共享内存、进程状态、CPU占用、内存占用、进程使用CPU计时、命令名称;
  • ps 显示当前进程
    ps -u naisu 显示naisu用户的进程
    ps -e 使用标准格式显示所有进程
    ps ax 使用BSD格式显示所有进程
  • pstree 以树形方式显示所有进程之间的关系
    pstree -p 显以树形方式显示所有进程之间的关系并显示进程号
  • pidof 返回正在运行程序的PID
  • renice 修改正在运行的进程的nice优先级
    renice 优先级 PID 优先级可选 -20~19,数值越低优先级越高
  • kill 终止某个进程
    kill PID 终止某个进程
    kill -9 PID 强制终止某个进程
  • killall 通过程序名终止该程序(终止其所有进程)
  • uptime
    显示系统运行情况,分别包括当前时间、运行时长、总连接数、最近1&5&15分钟系统的平均负载
  • free
    显示总的、已使用的、空闲的等内存情况
  • sensors
    这个命令可以可以获取到设备中各个传感器的数据,比如系统的电压温度等;
    有的系统默认没有sensors指令,可以安装lm-sensors包来获得
  • watch 定期执行命令并全屏显示
    watch -n 3 free 每三秒执行一次free
    watch -d -n 3 free 每三秒执行一次free,并高亮显示变动过的地方

网络信息与管理

  • ifconfig 查看网卡与IP信息/配置网卡
    ifconfig -a 查看网卡与IP信息,包括禁用的网卡
    ifconfig eth0 down 禁用网卡eth0
    ifconfig eth0 up 启用网卡eth0
  • ip 和ifconfig有些相似
    ip address 查看网卡与IP信息
    ip addr 查看网卡与IP信息
  • ping 测试网络连接
    ping 192.168.0.1 连续测试与192.168.0.1间的网络连接情况,使用ctrl+c退出
    ping -c 4 192.168.0.1 测试与192.168.0.1间的网络连接情况4次

在这里插入图片描述

  • dhclient dhcp客户端,用于动态获取ip
    dhclient eth0 eth0发出dhcp请求
    dhclient -r 释放ip地址
  • netstat 查看网络连接、路由表、接口统计、伪装连接和多播成员身份
  • ss 查看socket端口与连接情况

磁盘信息与管理

  • df 显示文件系统空间使用情况
    df -h 大小以K、M、G表示
    df -a 显示所有文件系统情况
    df -T 显示文件系统类型
  • du 显示目录或文件大小
    du -h 显示当前目录中子目录大小,以K、M、G表示
    du -ah 显示当前目录中子目录和文件大小,以K、M、G表示
    du -sh 显示当前目录总大小,以K、M、G表示
    du dir/ 显示dir/目录
  • fdisk 管理磁盘分区
    fdisk -l 列出设备的分区表,其中的Disk表示磁盘、Device表示分区
    可以使用 fdisk 磁盘名称 对该磁盘进行操作
  • mkfs / mk2fs 创建文件系统(格式化分区)
    mfks -t ext4 /dev/sda5 将/dev/sda5分区格式化成ext4文件系统
  • e2label 查看或创建更改ext文件系统标卷的标签名
    e2label /dev/sda1 naisu 将/dev/sda1标卷的标签设定为naisu
  • lsblk 列出块设备
    这个命令可以方便的查看已挂载和未挂载的块设备,比如磁盘、光盘、U盘这些;
    有的系统默认没有lsblk指令,可以安装util-linux包来获得;

在这里插入图片描述

挂载与卸载

  • mount 挂载文件系统
    mount device dir 将device设备挂载在dir目录下
  • umount 卸载文件系统
    umount /dev/devname 通过设备名卸载
    umount mountpoint 通过挂载点卸载

在这里插入图片描述

总结

Linux命令看似很多其实常用的也就一部分,而且这部分命令会用的非常多,所以基本用一段时间就记得很牢了。更多内容可以参考:https://www.linuxcool.com/

今天的文章Linux笔记:命令基础说明与常用命令分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/68140.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注