博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基本shell命令
阅读量:2240 次
发布时间:2019-05-09

本文共 2946 字,大约阅读时间需要 9 分钟。

基本shell命令

帮助手册

  • man: 查看命令、系统调用和库函数等帮助手册。
  • info: 类似man,但不是以分页的形式显示。
  • -help选项: 大多数命令都有这个选项,显示其使用方法。

文件和目录

pwd: 查看当前工作目录

cd: 改变工作目录

  • .代表当前目录
  • ..代表上级目录
  • -代表上次所在的目录

pushd: 相当于先cd一个目录,再把它压到路径栈中。

popd:从路径栈中弹出一个路径并进入该目录。

ls: 列出当前目录中的文件

  • -l: 长列表形式,输入各个文件的具体信息
  • -a: 列出所有文件,包括以.开头的隐藏文件
  • -h: 以易于阅读的形式输出,比如文件大小以KB,MB为单位
  • -R: 递归地列出子目录的内容

touch: 创建一个空文件,如果文件已存在,更新访问时间和修改时间。

cp: 复制文件

cp source destination
cp source... directory
如果destination是一个目录,则把source放到该目录下,文件名不变。如果destination是一个文件名,则把source复制到该路径处,如果已存在该文件,则被覆盖。

  • -i: 覆盖前提示(info)
  • -r: 递归复制(recursive),包括其中的子目录和文件。
  • -v: 显示操作结果(verbose下同)

ln: 创建文件链接

  • ln target link-name

    创建硬链接,目标文件和链接必须在同一个分区上,不能跨文件系统分区,inode相同,本质上是同一个文件。

  • ln -s target link-name创建符号链接文件(是一个新文件,只不过对它的处理方式不同),可以跨文件系统。

  • -v: 显示操作结果

  • -f: 如果链接已存在,强制覆盖(force)

mv: 移动、重命名文件

  • mv source dest
  • mv source... directory

rm: 删除文件

  • -r: 递归删除,包括目录和子目录
  • -f: 强制删除,忽略参数中不存在的文件,不报错。
  • -i: 删除前提示

mkdir: 创建目录

创建一个目录,如果该目录已存在,报错。

  • -p: 如果目录已存在,不报错;如果需要创建的目录的父目录不存在,则自动创建。

rmdir: 删除目录

默认只能删除空目录,不如用rm

file: 查看文件类型

cat: 显示文本文件到标准输出

less: 以分页的方式查看文件,内部操作类似vim。j上移,k下移。

tail: 查看文件的最后10行

  • -n: 指定行数
  • -f: 跟随文件的变化(follow),可以对日志文件动态跟踪。

head: 查看文件的开头10行

  • -n: 指定行数或者用-n直接指定。

检测程序

ps: 查看运行在系统上的进程。

默认情况下,ps只会显示运行在当前控制台下的属于当前用户的进程。

  • -e: 显示所有进程
  • -f: 显示完整格式的输出
  • -l: 显示长列表输出

top: 动态显示系统上的进程

top命令可实时显示进程信息。运行时允许键入单字符的交互命令,改变top的行为。想要屏幕不再刷新,输个命令就可以,比如d

  • space/enter: 刷新
  • q: 退出
  • d: 修改轮询间隔
  • f: 选择进程信息的输出字段
  • k: 给进程发送信号,需要输入pid,默认为第一个进程。

kill: 不只是杀死进程,它可以给进程发送各种信号,默认是TERM。参数只能是pid

  • -s sig: 指定信号类型。

killall: 可以通过进程名和通配符指定接受信号的进程。

监测磁盘空间

linux系统中的所有的文件都被安排到一个文件树(也称虚拟目录)下,根目录是/。硬盘中的文件系统挂载到这个文件树下才能被访问。

mount: 挂载媒体设备。

默认时,输出当前系统挂载的设备列表。包括四部分信息:媒体的设备文件名、挂载到虚拟目录的挂载点、文件系统类型和已挂载媒体的访问状态。

挂载设备的完整命令:

mount [-fnrsvw] [-t fstype] [-o options] device dir

umount: 卸载设备。

参数可以是挂载点或者设备名,如果有程序使用设备上的文件,卸载失败。

df: 查看已挂载设备的使用情况

  • -h: human readable

du: 显示某个目录的磁盘使用情况

默认情况下,du显示当前目录下所有文件和目录占用磁盘的大小。

  • -c: 显示所有列出文件的总大小
  • -h: 以用户易读的方式输出
  • -s: 显示每个输出参数的总计

处理数据文件

sort: 对文件中的数据行按照字符串比较的结果进行排序

  • -n: 将字符串转化为数字进行比较
  • -r: 翻转输出的结果

grep: 在文件中查找包含匹配指定模式的文本行。

grep功能强大,这里只做简要介绍,具体查看man grep

grep [options] pattern [file]

pattern默认是正则表达式,也可以在options中指定其为扩展正则表达式。要想指定多个模式,输出匹配任一模式的文本行,可以使用-e pattern这种方式指定,可多次使用-e选项。file可以多个,不指定时为标准输入。

  • -n: 显示行号
  • -r: 递归搜索目录下的文件,不追踪软链接
  • -R:类似-r,但是追踪软链接
  • -v: 反向,输出不匹配的行
  • -e: 用来指定多个模式串

gzip: 压缩文件

gunzip: 解压缩文件

tar: Unix系统中最广泛使用的归档工具,用来打包文件。

tar function [options] object...

function:

  • -c: 创建新的归档文件
  • -A: 将一个归档文件追加到另一个归档文件
  • -r: 将文件添加到已有归档文件中
  • -t: 列出归档文件中的文件名
  • -x: 从归档文件中提取文件

options:

  • -f file: 输出结果到文件中
  • -v: 显示处理过程
  • -z: 将输出重定向给gzip来压缩内容,或者将输入先给gunzip解压缩
  • -J: 类似-z,但是工具是xz

理解shell

shell命令分为內建命令和外部命令。內建命令是编译在shell内部的命令,而外部命令是其他可执行程序,在执行外部命令的时候需要创建子进程。有的命令可能既有内部实现又有外部程序。

which: 查看命令的可执行程序的位置,如果只有内部实现,就显示built-in

type: 查看命令的类型,有的命令既是内部命令又有相应的可执行程序。可使用-a参数显示全部结果。

history: 查看历史命令

!!: 输入上条命令

alias: 创建命令别名

默认时查看系统中已经创建的别名。
alias new-name='command'
注意要有单引号或双引号

printenv: 显示全局环境变量的值

set: 显示全部变量,包括局部变量、用户定义变量和全局变量

var-name=content: 定义局部变量

局部变量不会被子进程继承。

export var-name: 把局部变量导出为全局变量

子shell就能访问此变量,但是子shell做的修改并不会呈现到父shell中。

unset: 删除某个环境变量,不会影响父进程。

转载地址:http://peqbb.baihongyu.com/

你可能感兴趣的文章
GAN 的 keras 实现
查看>>
AI 在 marketing 上的应用
查看>>
Logistic regression 为什么用 sigmoid ?
查看>>
Logistic Regression 为什么用极大似然函数
查看>>
SVM 的核函数选择和调参
查看>>
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset
查看>>
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>
为什么在优化算法中使用指数加权平均
查看>>
初探Java设计模式4:一文带你掌握JDK中的设计模式
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>