文章目录
- -短命令、--长命令
- 一、目录操作命令
- 二、文件操作命令
- wc看文本文件行数、单词数、字节数
- od看二进制文件
- touch创建空文件,如果文件存在,则修改文件创建时间
- rm删除
- more按百分比显示文件内容
- head显示文件前面的行
- tail显示文件后面的行
- ln链接文件
- cp复制文件或目录
- mv移动文件或目录
- 三、权限管理
- 四、查找命令
- 五、压缩和解压缩
- 六、网络命令
- 七、进程信息
- 八、杂项
- du 当前目录下所有文件的大小
- df 查看磁盘空间
- vmstat 虚拟内存统计
- lsof 列出打开的文件
- iostat 输入输出统计
- who看哪些用户连了这台机器
- printenv打印环境变量
- echo、print 打印输出
- seq生成序列
- 欢迎补充!请在下方留言
-短命令、–长命令
-
-代表短命令,--代表长命令
一、目录操作命令
ls 显示目录文件
- 含义:
list - 命令所在路径:
/bin/ls(都可以用which ls查看) - 执行权限:所有用户
stat比ls更详细
可以查看文件大小、文件类型、inode号、权限、用户ID、组ID等
cd 切换所在目录
- 含义:change directory
- 命令所在路径:shell内置命令
- 执行权限:所有用户
这里有几个路径: -
/开头的代表绝对路径,上面的例子中表示从根目录开始指定,一级一级递归查找 - 也可以用
..来指定上一级目录 -
.代表当前目录
/根目录下的常见目录
- / 根目录
- /bin 命令保存目录(普通用户就可以读取的命令)
- /boot 启动目录,启动相关文件
- /dev 设备文件保存目录
- /etc 配置文件保存目录
- /home 普通用户的家目录
- /lib 系统库保存目录
- /mnt 系统挂载目录
- /media 挂载目录
- /root 超级用户的家目录
- /tmp 临时目录
- /sbin 命令保存目录(超级用户才能使用的目录)
- /proc 直接写入内存的
- /sys 将内核的一些信息映射,可供应用程序所用
- /usr 系统软件资源目录
- /usr/bin/ 系统命令(普通用户)
- /usr/sbin/ 系统命令(超级用户)
- /var 系统相关文档内容
- /var/log/ 系统日志位置
- /var/spool/mail/ 系统默认邮箱位置
- /var/lib/ 默认安装的库文件目录
pwd 显示当前所在目录
- 含义:print working directory
- 命令所在路径:/bin/pwd
- 执行权限:所有用户
mkdir 建立目录
- 含义:make directory
- 命令所在路径:/bin/mkdir
- 执行权限:所有用户
rmdir删除目录
- 含义:remove empty directory(比较鸡肋,只能删除空目录)
- 命令所在路径:/bin/rmdir
- 执行权限:所有用户
二、文件操作命令
wc看文本文件行数、单词数、字节数
od看二进制文件
-
-t:指定数据的显示格式(t后加c、d、f、o、u、x)
touch创建空文件,如果文件存在,则修改文件创建时间
- 命令所在路径:/bin/touch
- 执行权限:所有用户
rm删除
- 含义:remove
- 命令所在路径:/bin/rm
- 执行权限:所有用户
more按百分比显示文件内容
- 命令所在路径:/bin/more
- 执行权限:所有用户
- 会显示百分比,常用来看大的文本文件
- 向下:空格键
- 向上:b
- 退出:q
head显示文件前面的行
- 命令所在路径:/bin/head
- 执行权限:所有用户
tail显示文件后面的行
- 命令所在路径:/bin/tail
- 执行权限:所有用户
- 常用来查看日志,比head更有用一些
ln链接文件
-
含义:link
-
命令所在路径:/bin/ln
-
执行权限:所有用户
-
软链接:生成快捷方式,不用写那么长的目录,iNode号不同
-
格式:
ln -s 文件名/路径 快捷方式名
那这个软链接能否在整个linux中使用?不能。我们把创建的软链接放到上级目录测试,发现不能查看其内容了。
那怎么让它在整个linux系统中使用呢?——使用绝对路径去创建软链接 -
硬链接:给原来的文件创建一个“备份”,本身并不占用磁盘空间,只是硬链接计数加1,多个硬链接映射到同一个磁盘块,,删掉一个硬链接,计数就减1,但内容不变,当计数为0,当前iNode结点对应的这个磁盘块位置就空闲了,再有文件进来的时候就可以把文件存在这个位置上了,修改其中一个硬链接会影响其它的硬链接,跟引用差不多。通过inode结点去找对应的位置
-
格式:
ln 文件名/路径 快捷方式名 -
软链接可以对目录,硬链接不行
cp复制文件或目录
- 含义:copy
- 命令所在路径:/bin/cp
- 执行权限:所有用户
mv移动文件或目录
- 含义:move
- 命令所在路径:/bin/mv
- 执行权限:所有用户
- 用法同cp
三、权限管理
长格式显示项
权限位(十位)
- 第一位:代表文件类型
-
-普通文件 - d 目录文件
- l 链接文件
-
- 前三位:属主权限u
- 中间三位:属组权限g
- 后三位:其它用户权限o
- r:读权限,可以查询目录下的文件名
- w:写权限,但不包含删除文件,具有修改目录结构的权限
- x:可执行权限,可以进入目录
chmod 修改权限
- 命令所在路径:/bin/chmod
- 执行权限:所有用户
- 文字设定:+添加、-减少、=覆盖
- 数字设定:r对应4,w对应2,x对应1,加起来是7(rwx),5(rx),递推,7(rwx)6(rw)5(rx)
chown 修改文件的属主或属组
-
chown 用户名 文件名:改变文件属主 -
chown 用户名:属组名 文件名:改变属主的同时改变属组
四、查找命令
find 搜索
- 含义:find
- 命令所在路径:/usr/bin/find
- 执行权限:所有用户
-
find 查找位置 -name 文件名:查找指定目录下名为xxx的文件
grep 查找符合条件的字串
- 命令所在路径:/bin/grep
- 执行权限:所有用户
grep [选项] '字串' 查找路径-
-c选项一般可以用来统计匹配到的行数
sed
- 面向字符流的非交互式编辑器,即sed不允许用户与它进行交互
- sed是按行处理文本内容的,常用来批量修改文本内容
- 基本语法:
sed [选项] [动作] file - -i 选项:将修改应用到文件中,如果不加这个选项,实际都不会去修改文件的内容
示例1:
- d:删除行
示例2:
- a:在指定行的后面新增行
- i:在指定行的前面插入行
示例3:
- c:替换
- s:替换部分串——
s/带替换的串/新串
awk
参考自:awk从入门到放弃
- 适用于格式化文本,并将其输出
- 基本语法:
awk [选项] 'Pattern{Action}{...}' file - awk是逐行处理的
- awk有输入分隔符和输出分隔符
- Action表示动作(常用的由print和printf),默认是空模式
Pattern表示模式(特殊模式有BEGIN和END)
- 1)BEGIN模式指定了处理文本前需要执行的操作
awk [选项] 'BEGIN{Action1}{Action2}' file - 2)END模式指定了处理完文本以后要执行的操作
awk [选项] '{Action1}END{Action2}' file - 3)关系运算模式:
awk [选项] 'NF==5{Action1}' file对满足NF==5的条件的行执行后面的动作(只有NF==5的行能与模式NF==5相匹配),下面这样也可以达到相应的效果(可以嵌套else或者使用for、while等,同C语言)![]()
- 相应的关系运算符还有我们常见的那些大于、小于、非、不等于等待——关系运算模式
- 4)正则模式:
- 把正则表达式当做条件(用
/正则表达式/来表示,能与正则匹配的行,就算满足条件,才可执行相应的动作![]()
- 5)行范围模式
- 场景:比如一个文本,想要打印从dzh第一次出现的那一行,一直到abc第一次出现的那一行,就可以使用行范围模式
也就是,从被正则1匹配到的行开始,到被正则2匹配到的行,都会执行这个动作
一些默认的内置变量(所以需要用$符号)
| 内置变量 | 含义 |
|---|---|
| 0 | 所有的 |
| NF | 当前行被分隔符分割后一共有几个字段 |
| NR | 行号,当前处理的文本行的行号 |
| FS | 输入字段分隔符(默认为空格),使用时要搭配 -v 选项 |
| OFS | 输出字段分隔符,使用时要搭配 -v 选项 |
| RS | 指定输入记录换行符(输入换行符),使用时要搭配 -v 选项 |
| ORS | 指定输出记录换行符(输出换行符),使用时要搭配 -v 选项 |
| FNR | 各文件分别计数的行号 |
| FILENAME | 当前处理的文件名 |
此外,可以自定义变量,使用的时候就可以像内置变量一样了
awk -v m_var="hahaha" '{print m_var}'awk '{m_var="hahaha";print m_var}'
五、压缩和解压缩
tar
-
-c选项是压缩 -
-x选项是解压 -
-t选项是只查看不解压 -
-zvf选项一般都加上
zip、unzip
需要安装
sudo apt-get install zipsudo apt-get install unzip- 暂无实验
六、网络命令
ping测试网络畅通性
- 命令所在路径:/bin/ping
- 执行权限:所有用户
ifconfig 查询本机网络信息
- 含义:interface configure
- 执行权限:root
- 命令所在路径:/sbin/ifconfig
- 可以看到IP地址、子网掩码、广播地址、物理地址等等信息
netstat检验本机各端口的网络连接情况
netstat -aup # 输出所有UDP连接状况netstat -atp # 输出所有TCP连接状况netstat -s # 显示各个协议的网络统计信息netstat -i # 显示网卡列表netstat -r # 显示路由表信息-
netstat -anp | grep 60010 # 找出运行在指定端口的进程
tcpdump 网络数据包分析
- 捕获或者过滤从网络特定接口接收到或者转发的TCP/IP数据包
七、进程信息
ps查看当前进程的信息
-
-e选项查看目前OS的所有进程 -
--forest查看进程树 ps aux | grep root # 输出root用户的所有进程
top 实时查看进程信息
- load average:最近1\5\15分钟的系统负载
- 统计处于running、sleeping、stopped、zombie状态的进程数目
- CPU使用率、内存使用量、交换内存、缓冲区大小
htop比top更好看
需要安装:sudo apt-get install htop
kill 给进程发信息
- 暂无实验
八、杂项
du 当前目录下所有文件的大小
du -h
df 查看磁盘空间
df -h
vmstat 虚拟内存统计
- 显示kernal线程、磁盘、系统进程、IO模块等
lsof 列出打开的文件
- 显示所有打开的文件(磁盘文件、网络套接字、管道、设备)和进程
iostat 输入输出统计
- 常用于跟踪存储设备
who看哪些用户连了这台机器
printenv打印环境变量
- 暂无实验