linux系统的使用离不开linux命令行,先对常用的linux命令行做个总结记录。目前,个人比较常用的命令行有如下25个:
现对各常用命令进行简单介绍,各命令的详细使用方法可以通过help cmd或者cmd --help来获取。
- cd <------>改变工作目录
常用语法:
cd path :进入path指定的工作目录中;
cd - :返回path跳转前的目录;
cd ~:回到用户目录下
cd .. :返回当前目录的上一级目录;
cd ../.. :返回当前目录的上级的上级目录(以此类推);
example:
- chmod <------>改变文件或目录的文件权限
常用语法为:(abc指具体权限)
chmod abc file :对file文件进行权限变更
chmod -R abc file :对目前目录下的所有档案与子目录进行相同的权限变更
常用的权限有以下几种:
- file <------>分析文件的类型
常用语法:
file file-name:输出文件名称和对应的文件类型
file -b file-name :输出文件类型
example:
- ls <------->显示文件的各种类型的信息
常用语法:
ls :显示当前目录下的所有非隐藏文件
ls -a :显示当前目录下所有文件,包括隐藏文件
ls -l :显示当前目录下所有非隐藏文件及其详细信息
example:
- mkdir <------->创建目录
常用语法:
mkdir dir-name:创建dir-name目录,为空。
mkdir -p dir-name1/dir-name2 :创建多级目录
mkdir -m abc dir-name3 :创建dir-name3目录,并设置其权限为abc
- mv <--------> 移动或重命名文件或目录
常用语法:
mv -i file1 file2 : 将file1重命名为file2,如果file2已存在,询问是否覆盖;
mv file1 file2 : 将file1重命名为file2,如果file2已存在,直接覆盖;
mv flie1 dir1 : 将当前目录下的file1移动到dir1目录下;
mv dir1 dir2 :如果dir2存在,将dir1目录移动到dir2目录下,作为dir2的子目录;如果不存在,将dir1改名为dir2
example:
- rm <------>删除文件或目录
常用语法:
rm file:删除file文件
rm -r dir : 删除dir目录
example:
- rmdir <------>删除空目录
常用语法:
rmdir dir : 删除dir空目录
example:
- cp <------>复制文件;复制目录
常用语法:
cp file1 file2:将file1复制成file2,若file2已存在,则覆盖
cp -u file1 file2 : 只有当file1的文件日期比file2新时,才会复制
cp -i file1 file2:将file1复制成file2,若file2已存在,则询问是否覆盖
cp -r dir1 dir2 :将dir1及其子目录复制到dir2(迭代复制)
cp file1 dir2:将file1复制到dir2中,dir2/file1时间与file1时间不一致;
cp -a file1 dir2:将file1复制到dir2中,dir2/file1时间与file1时间一致;
example:
- find <------>在目录树中搜索文件
常用语法:
find path -name file1:在path目录及其子目录中查找name为file1的文件;path中,“.”表示当前目录,“/”表示根目录。
find path -name file1 | xargs cmd :在path目录及其子目录中查找name为file1的文件,并执行cmd命令
example:
- ln <------>创建文件的一个新链接
这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接又软链接和硬链接两种,软链接只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间;
硬链接会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
用ls -l命令去察看,就可以看到显示的link的路径了。
常用语法:
ln -s src dst: 创建软链接,创建dst链接指向src文件
ln src dst: 创建硬链接,创建dst链接指向src文件
example:
- cat <------>组合文件,将标准输入复制到标准输出
常用语法:
cat file:将file内容显示到标出输出
cat file1 file2 :将file1和file2内容组合输出
example:
- man <------>显示Unix联机参考手册的页面
常用语法:
man func:显示func的参数手册,一般常用函数均能用man获取
- df <------>显示文件系统已使用/可使用的磁盘空间
常用语法:
df:显示文件系统已使用/可使用的磁盘空间
df -h:以可读形式显示文件系统已使用/可使用的磁盘空间
example:
- ps <------>显示进程信息
常用语法:
ps a : 显示现行终端机下的所有程序,包括其他用户的程序
ps -A : 显示所有进程
ps -e : 此参数的效果和指定"A"参数相同
ps -o : 用户自定义格式;
example:
其中,pid:进程ID(Process ID);pri:进程优先级编号(Priority);cmd:正在执行的命令行命令;%mem:进程的内存占用率
--sort=pid,表示以pid降序排列。
- top<------>显示使用最多CPU的进程的数据
常用语法:
top:显示系统当前的进程和其他状况
前五行信息解释:
第一行:任务队列信息
16:20:52 当前时间
up 1:21 系统运行时间,格式为时:分
2 user 当前登录用户数
load average: 0.01, 0.02, 0.05 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二行:进程信息。
total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
第三行:CPU的信息。当有多个CPU时,这些内容可能会超过两行。
%Cpu(s):
1.2 us 用户空间占用CPU百分比
0.8 sy 内核空间占用CPU百分比
0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id 空闲CPU百分比
0.3 wa 等待输入输出的CPU时间百分比
0.0hi:硬件CPU中断占用百分比
0.0si:软中断占用百分比
0.0st:虚拟机占用百分比
第四、五行:内存信息。
KiB Mem:
1000024 total 物理内存总量
917496 used 使用的物理内存总量
82528 free 空闲内存总量
92196 buffers 用作内核缓存的内存量
KiB Swap:
1045500 total 交换区总量
8076 used 使用的交换区总量
1037424 free 空闲交换区总量
218724 cached 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
另,可通过f健进行用户自定义显示,按f健后,显示如下:
通过方向键操作:up/down进行上下移动,Right选中,left释放;通过d删除要显示的项,空格键添加要显示的项,q退出。
- kill <------>终止进程;给进程发送信号
常用语法:
kill pid :终止进程号为pid的进程
kill -9 pid :强制终止进程
- grep <------>选择包含指定模式的行
常用语法:
grep str file :在file中搜索str字符串
grep str file1 file2 :在file1和file2中搜索str字符串(以此类推)
grep str * :当前目录下搜索str字符串(遇到子目录会提示,但不会进入目录搜索),另外,*可以为任意路径,如a/b/c/*;
grep -r str * :强制要求当前目录下所有文件中搜索,包括子目录;
grep -d skip str * :在当前目录下搜索,跳过子目录
example:
- dmesg <------>显示启动信息
常用语法:
dmesg:打印内核log信息
dmesg -c:打印内核log信息,并清除缓存
dmesg | tail -n num :打印内核log信息(尾部向上的num行)
dmesg | head -n num :打印内核log信息(头部开始的num行)
- reboot <------>重新启动计算机
常用语法:
reboot :重启,需要root权限
- shutdown <------>关闭计算机
常用语法:
shutdown :关机,需要root权限
- echo <------>将参数写到标准输出
常用语法:
echo parm:将parm参数写到标准输出上;
echo parm > file: 将parm参数写到file文件中
- env<------>显示环境变量
常用语法:
env :显示环境变量,任意目录下输入均可
example:
- export<------>将shell变量输出到环境中
常用语法:
export s1=s2 : 设置环境变量s1,其内容为s2.
example:
- fdisk<------>操作磁盘--添加、删除、转换分区等
常用语法:
fdisk -l: 显示硬盘信息
example: