【Linux】基本命令行

参考资料

  • 命令行参考网站:https://www.linuxcool.com/
  • 主要参考书:Linux命令行大全
  • 辅助参考书:Linux命令行与Shell脚本编程大全

1 什么是Shell

  • 如果提示符的最后一个字符是#,而非$,表明该终端会话有超级用户权限
  • 使用Ctrl-C和Ctrl-V执行复制和粘贴是没用的,这些组合键对Shell而言有不同的含义,
  • df 查看磁盘可用空间
  • du 查看某特定目录的磁盘可用空间
  • free 查看可用内存容量
  • exitCtrl-D 关闭终端窗口

2 导航

  • pwd 输出当前的工作目录名称
  • cd 修改目录
    • 绝对路径,如 cd /usr/bin
    • 相对路径,如 cd ./bin (或直接 cd bin 即可)
    • cd … 当前工作目录的父目录
    • cd - 切换回前一个工作目录
  • 文件名区分大小写
  • 命令区分大小写
  • 没有文件扩展名的概念

3 探索Linux系统

  • 在类UNIX系统中(如Linux)存在一个普遍观念:万物皆文件(everything is a file)
  • ls 列出目录内容
    • 列出多个目录的内容,如主目录和/usr目录内容: ls ~ /usr
    • ls -l 显示细节
    • ls -lt 显示细节并按修改时间排序

在这里插入图片描述

  • file 确定文件类型
  • less 查看文件内容

在这里插入图片描述

  • 鼠标双击可以复制,单击中键粘贴

4 操作文件和目录

  • 通配符——路径名扩展

在这里插入图片描述
在这里插入图片描述

  • mkdir 创建目录
    • mkdir dir1
    • mkdir dir1 dir2 dir3
  • touch 创建文件
  • cp 复制文件和目录
    • cp item1 item2
    • cp item… directory 复制多个文件或目录
    • cp -u 复制时跳过那些不必复制的文件

在这里插入图片描述

  • mv 移动和重命名文件和目录
    • mv item1 item2
    • mv item… directory

在这里插入图片描述

  • rm 删除文件和目录
    • 小心rm,删除就找不回来了
    • rm -ri 删除前会有提示

在这里插入图片描述

  • ln 创建硬链接和符号链接
    • ln file link 硬链接
    • 硬链接不能引用其所在文件系统之外的文件,如果文件与链接不在同一个磁盘分区内的话,无法引用该文件
    • 硬链接不能引用目录
    • ln -s item link 符号链接

5 和命令打交道

  • 可以使用分号作为分隔符,在命令行中一次性输入多个命令
    • 如 cd /usr; ls; cd -
  • 方括号表示这些项是可选的
  • | 表示这些项之间是互斥关系
  • type 显示命令类型
  • which 显示可执行文件的位置
    • 只适用于可执行文件
  • help 获取Shell内建命令的帮助信息
    • 如 help cd
    • 如 mkdir --help
  • man 显示命令的手册页
  • apropos 显示适合的命令清单
  • whatis 显示手册页的简述
    • 如 whatis ls
  • info 显示命令的info条目
  • alias 创建自己的命令
    • 创建之前,先用 type 检查别名是否已被占用
    • 为自己的命令创建别名,如 alias foo=‘cd /usr; ls; cd -’
    • unalias 删除自己创建的命令

6 重定向

  • I/O重定向允许我们修改输出的去处和输入的来源。通常输出会显示在屏幕,输入则来自键盘,但有了I/O重定向,两者都可以改变
  • 输出
    • > 标准输出重定向
      • 将命令输出结果保存在文件中,如 ls -l /usr/bin > output.txt
    • >> 标准输出重定向,追加到文件尾部,不是从头覆盖
    • 2> 标准错误重定向
    • &> 标准输出和错误联合重定向
    • /dev/null 丢弃无用的输出,重定向到此处
  • 管道特性通过管道操作符 | ,可以将一个命令的标准输出传给另一个命令的标准输入,如
    • ls -l /usr/bin | less
    • ls -l /usr/bin | sort | less
  • 输入
    • cat 拼接文件
      • 读取一个或多个文件并将其复制到标准输出,如
        • (未解决的疑问,和less有何区别?) cat dog.txt
      • 在命令后输入想放入的文本,如
        • cat > dog.txt
        • put dog in this text
  • sort 排序文本行
  • uniq 报告或忽略重复的行
  • wc 统计文件中换行符、单词以及字节数
  • grep 输出与模式匹配的行
    • 如 ls /bin /usr/bin | sort | uniq | grep zip
  • head/tail 输出文件的开头/结尾部分
    • 可以设置行数,如 head -n 5 output.txt
  • tee 读取标准输入并将输出结果写入标准输出和文件
    • 如 ls /usr/bin | tee ls.txt | grep.zip

7 Shell 眼看世界

  • echo 显示一行文本
    • 通配符的路径名扩展,如
      • echo D*
      • echo *s
      • echo /usr /*/share
    • 浪纹线扩展,如
      • echo ~
    • 算术扩展,如
      • echo $((2+2))
    • 花括号扩展,如
      • echo Number_{1…5}
      • echo a{A{1,2},B{3,4}}b
      • 应用:批量创建文件或目录
    • 参数扩展,如
      • echo $USER
    • 命令替换
  • echo中的引用
    • 双引号,使特殊字符丧失其特殊含义
    • 单引号,禁止所有扩展
    • 转义字符(反斜杠),选择性地避免扩展

8 高级键盘技巧

  • clear 清除终端
  • hitory 查看命令历史
  • 光标移动的组合键

在这里插入图片描述

  • Tab键自动补全
  • !n 重复命令历史记录列表中的第n个命令

9 权限

  • id 查看用户身份
  • chmod 修改文件模式(权限)
    • 注意,只有文件属主或超级用户才能做到。chmod命令支持两种截然不同的模式表示方式。
  • umask 设置默认权限
  • su 以其他用户身份启动Shell
    • 如果没有指定用户,那么假定其为超级用户(注意,-l可以缩写为-)。可以通过以下的操作来为超级用户启动一个Shell:
      • su -
      • 输入密码
      • exit退出超级用户身份
  • sudo 以其他用户身份执行命令
    • 和su的区别在于,sudo无须输入超级用户密码。使用sudo只需输入自己的密码来进行认证
  • chown 更改文件属主和属组
  • passwd 修改密码

10 进程

  • 系统启动时,内核会以进程为形式展开一些自身的操作活动并运行一个名为init的程序。init再依次运行一系列初始化脚本(位于/etc),由这些脚本启动所有的系统服务
  • 每个进程都被分配了一个叫作进程ID(Process ID,PID)的数字,按递增顺序分配,init的PID始终为1
  • ps 查看进程
    • ps 显示与当前终端关联的进程
    • ps x 显示所有进程
      • STAT 表示进程状态

在这里插入图片描述

  • ps aux 显示更多进程信息
  • top 动态查看进程
    • 默认每3秒更新一次
    • 类似于Win中的任务管理器,但其资源消耗少得多,运行速度快
  • jobs 查看启动的作业
  • fg 将作业置于前台
    • 如 fg %1 ,数字为作业号(作业参数)
  • bg 将作业置于后台
  • kill 向进程发送信号
    • 终止指定PID的进程,如 kill 28401
    • 发送信号的格式 kill -signl PID

在这里插入图片描述

  • killall 按名称终止进程,支持通配符
  • 关闭系统,有序地终止所有进程,以及在断电之前执行重要的内务整理工作
    • halt
    • poweroff
    • reboot
    • shutdown
      • sudo shutdown -h now 挂起系统
      • sudo shutdown -r now 重启系统

学习进度 截止4.26

Linux命令行大全 第11章
Linux命令行与Shell脚本编程大全 5.2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值