linux常用操作命令
man 命令
显示说明
- NAME 命令的名称和单行描述
- SYNOPSIS 怎样使用命令
- DESCRIPTION 命令功能的深入讨论
- EXAMPLES 怎样使用命令的例子
- SEE ALSO 相关主题(通常是手册页)
数字说明
- 1 用户在shell环境中可以操作的命令或是可执行的文件
- 2 系统内核(kernel)可以调用的函数
- 3 常用的函数or函数库
- 4 设备配置文件
- 5 配置文件的格式
- 6 游戏相关
- 7 linux网络协议和文件系统
- 8 系统管理员可以用的命令
- 9 跟内核有关系的文件
时间日期类
- date
- cal
文件目录类
-
pwd,显示目前的目录
-
ls
1 2 3 4 5 6 7 8 9
功能:列出目录的内容 语法:ls [选项] [目录或是文件] 命令中主要选项的含义如下: 选项与参数: -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) -d :仅列出目录本身,而不是列出目录内的文件数据(常用) -l :长数据串列出,包含文件的属性与权限等等数据;(常用) 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
- 罗列目录里内容,ls 目录
- 别名,ll
- ls –R 递归查看目录
-
mkdir,创建一个新的目录
- -p,可以自行帮你创建多层目录
-
rmdir 删除一个空的目录
-
touch
-
cd,切换目录
cd ~
用户主目录cd -
回到上一目录
-
cp,复制文件或目录
-
rm, 移除文件或目录
提供一个移动文件到一个不存在目录的小技巧
1 2 3 4
# 先创建目录 $ mkdir -p ~/my/script # 再移动目录,$ _扩展到传递给上一个shell命令的最后一个参数,即:新创建的目录 $ mv ReverseProxy_darwin_amd64 $_
-
mv ,移动文件与目录或修改名称
-
cat ,由第一行开始显示文件内容
1 2 3 4 5 6 7
选项与参数: -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -b :列出行号,仅针对非空白行做行号显示,空白行不标行号! -E :将结尾的断行字节 $ 显示出来; -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同; -T :将 [tab] 按键以 ^I 显示出来; -v :列出一些看不出来的特殊字符
-
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
-
more 一页一页的显示文件内容
1 2 3 4
空白键 (space):代表向下翻一页; Enter :代表向下翻『一行』; q :代表立刻离开 more ,不再显示该文件内容。 b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
-
less 与 more 类似,但是比 more支持的功能更多
1 2 3 4 5 6 7 8
空白键 :向下翻动一页; [pagedown]:向下翻动一页; [pageup] :向上翻动一页; /字串 :向下搜寻『字串』的功能; ?字串 :向上搜寻『字串』的功能; n :重复前一个搜寻 (与 / 或 ? 有关!) N :反向的重复前一个搜寻 (与 / 或 ? 有关!) q :离开 less 这个程序;
-
head 只看头几行
-
tail 只看尾巴几行
-
history 所敲命令历史
-
重定向命令
>
覆盖>>
追加
-
echo
输出内容到控制台,基本语法
echo [选项] [输出内容]
echo会自动换行
-
ln 给文件创建一个软连接
用法:
ln -s[源文件或目录][软连接名]
eg使jmeter支持快捷启动只需要在/usr/local/bin下新建一个软连接即可,如下:
ln -s $JMETER_HOME/bin/jmeter /usr/local/bin/jmeter
网路配置类
ifconfig
磁盘分区类
分区
- 主分区 操作系统所在分区
- 拓展分区 主分区以外的空间都是拓展分区
- 逻辑分区 拓展分区上再进行划分,比如D盘E盘
fdisk -l
- s表示scsi硬盘,常用两种硬盘ide、scsi
- d表示disk
- a表示第一块盘(a为基本盘(第一块硬盘,两块就会有b),b为基本从属盘,c为辅助主盘,d为辅助从属盘) 数字,前四个分区用1~4表示,它们是主分区或扩展分区,从5开始才是逻辑分区
上面四个放在一块表示我的计算机里面第一块SCSI硬盘
挂载/卸载
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构Linux中每个分区都是用来组成整个文件系统的一部分,她在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得
mount / umount :将分区挂载到某个目录 / 将分区从某个目录卸载
mount 【参数】 设备名称 落地挂载点目录
unmount 挂载点目录
- linux分区也是目录.如/boot 表明分区了一个boot文件夹的分区.
- Windows的文件都是放在分区中,系统寻找文件是从分区开始的,所有分区之间是并行的关系。而Linux中,由于文件结构是树形的,根目录必须占用一个分区,然后这个根目录下可以挂载其他的分区,因此这些个分区可以是并行的或者从属的关系。
比如:有一块硬盘,分成了4个分区,分别是/;/boot;/usr;对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。
以下节选自《鸟哥私房菜》
硬盘
列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
df
选项与参数:
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
du
df 可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du 查询文件或文件夹的磁盘使用空间。
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:–max-depth=,这是个极为有用的参数!
如下,注意使用“*”,可以得到文件的使用空间大小.
|
|
示例
|
|
搜索查找类
find
find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
命令:find+搜索路径+参数+搜索关键字
- 按文件名:
find /home/esop -name 't*'
- 按拥有者:
find /home/esop -user esop
- 按文件大小:
find /home/esop -size esop
示例
|
|
grep
在文件内搜索字符串匹配的行并输出
命令:grep+参数+查找内容+源文件
参数:
-
-c:只输出匹配行的计数。
-
-I:不区分大小写(只适用于单字符)。
-
-h:查询多文件时不显示文件名。
-
-l:查询多文件时只输出包含匹配字符的文件名。
-
-n:显示匹配行及行号。
-
-s:不显示不存在或无匹配文本的错误信息。
-
-v:显示不包含匹配文本的所有行。
1
$ ps -ef | grep zookeeper | grep -v grep
示例
|
|
进程线程类
ps
显示进程的状态,最常用的方法是
-
ps -aux
- a 显示当前终端的所有信息
- u 指定(当前)用户的所有进程
- x 显示后台运行的参数
- System V 展示风格
- 项目说明
- USER:用户名称
- PID:进程号
%CPU
:进程占用 CPU 的百分比%MEM
:进程占用物理内存的百分比- VSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TT:终端名称,缩写 .
- STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先 级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
- STARTED:进程的启动时间
- TIME:CPU 时间,即进程使用 CPU 的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
-
ps -ef
是以全格式显示当前所有的进程- e 显示所有进程。
- f 显示程序间的关系,
pid
&ppid
。
- BSD风格
- 项目说明
- UID:用户 ID
- PID:进程 ID
- PPID:父进程 ID
- C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY:完整的终端名称
- TIME:CPU 时间
- CMD:启动进程所用的命令和参数
ps -ef
和ps aux
的区别
- ef是System V展示风格,而aux是BSD风格。
- COMMADN列如果过长,aux会截断显示,而ef不会
综上:
- 如果想查看进程的CPU占用率和内存占用率,可以使用aux
- 如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ef
ps: 可以再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作,如果进程很多可以使用ps -ef | less
查看。
netstat
显示网络统计信息的命令
此命令用来显示整个系统目前的网络状况。例如目前的连接、数据包传递数据、或是路由表内容,此命令直接输入即可使用
参数
-a
或–all
显示所有连线中的Socket
-n
或–numeric
直接使用IP地址,而不通过域名服务器-p
或–programs
显示正在使用Socket
的程序识别码和程序名称-t
或–tcp
显示TCP
传输协议的连线状况-u
或–udp
显示UDP
传输协议的连线状况
top
top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在 执行一段时间可以更新正在运行的的进程。
基本语法
top [选项]
选项说明
交互操作说明:
应用案例
-
案例1.监视特定用户
top:输入此命令,按回车键,查看执行的进程。 u:然后输入“u”回车,再输入用户名,即可
系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。3个值加起来的平均值如果超过60%说明系统负载已经很严重了。
-
案例2:终止指定的进程。
top:输入此命令,按回车键,查看执行的进程。 k:然后输入“k”回车,再输入要结束的进程ID号
-
案例3:指定系统状态更新的时间(每隔10秒自动更新):
1
bash> top -d 10
压缩和解压类
gzip
命令
- 压缩:gzip
- 解压:gunzip + 文件.gz
特点:
- 只能压缩文件不能压缩目录;
- 不保留原来的文件
tar
打包目录,压缩后的文件格式.tar.gz
参数:
- -c 产生.tar打包文件
- -v 显示详细信息
- -f 指定压缩后的文件名
- -z 打包同时压缩
- -x 解包.tar文件
命令:
- 压缩:tar -zcvf XXX.tar.gz n1.txt n2.txt
- 解压:tar -zxvf XXX.tar.gz
zip
压缩文件和目录的命令,window/linux通用且可以压缩目录且保留源文件
参数:-r 压缩目录
压缩:zip mypackage.zip 1.txt 2.txt 解压:unzip mypackage.zip
性能优化类
