Linux基本命令
Linux
3.linux命令整理
帮助命令:
man:是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助等等
help:该命令是bash内建命令,用于显示bash内建命令的帮助信息
linux中如何判断是不是shell内置命令?
判断方法是用which来查看命令,如果没有路径就是shell内置命令。
常用快捷键
ctrl + c 停止进程
ctrl+l 清屏
reset 彻底清屏
ctrl + q 退出
善于用tab键 提示,补全(更重要的是可以防止敲错)
上下键 查找执行过的命令
ctrl +alt linux和Windows之间切换
文件目录类操作
pwd:显示用户当前工作目录的绝对路径
ls:用来显示目录列表
-a 显示包含隐藏文件(文件以".“开头的所有文件)
-A 显示除隐藏文件”.“和”…"以外的所有文件列表
-l 长数据串列出,包含文件的属性与权限等等数据;(常用)
-C 多列显示输出结果,默认
-R 递归显示目录下的所有文件列表和子目录列表
-s 以块(1块=1024字节)为单位显示文件的大小
cd: 将当前工作目录切换到指定目录
cd相对路径 切换路径
cd ~或者cd 回到自己的家目录
cd - 回到上一次所在目录
cd … 回到当前目录的上一级目录
cd -P 跳转到实际物理路径,而非快捷方式路径
mkdir: 创建新目录
-p 创建多层目录
-v 显示创建目录的详细过程
rmdir: 删除空目录
-p 用递归的方式删除指定的目录路径中的空目录
-v 显示删除目录的详细过程
–help 显示指令的信息信息
touch: 创建空文件
rename: 批量为文件修改名称
cp: cp指令用来将-一个或者 多个源文件或者目录复制到指定的目标文件或者目录
-a 保持源文件的原有结构和属性,与选项“-dpR"的功能相同
-R或则-r 以递归的操作方式,将指定目录及其子目录,中的所有文件复制到指定的目标目录
-v 详细显示指令执行的操作
rm: rm指令用于删除给定的文件和目录。
-r 递归删除目录中所有内容
-f 强制执行删除操作,而不提示用于进行确认。
-i 以交互式的方式,提示用户进行确认是否删除文 件。“n”不删除 “y”删除
-v 显示指令的详细执行过程
mv: mv 移动文件与目录或重命名
cat: 查看文件内容,从第一行开始显示
-b 在非空行前面显示行号
-n 显示所有行的行号,包括空行。
-s 压缩空行,多个空行连续出现时仅显示一个空行
more: more 文件内容分屏查看器,more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
空白键 (space) 代表向下翻一页;
Enter 代表向下翻『一行』;
q 代表立刻离开 more ,不再显示该文件内容。
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
less: less 分屏显示文件内容
它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
空白键 向下翻动一页;
/字串 向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字串 向上搜寻『字串』的功能;n:向上查找;N:向下查找;
q 离开 less 这个程序;
echo: echo指令用于在shell中打印shell变量的值,或者直接输出指定的字符串。
-e 支持反斜线控制的字符转换
\ 输出\本身
\n 换行符
\t 制表符,也就是Tab键
head: head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
head -n 5 文件 (查看文件头5行内容,5可以是任意行数)
tail: tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
(1)tail 文件 (功能描述:查看文件后10行内容)
(2)tail -n 5 文件 (功能描述:查看文件后5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
和>> > 覆盖 和 >> 追加
(1)ll >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
(2)ll >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
(4)echo “内容” >> 文件
ln: (硬)软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
-i 创建链接时,如果目标文件已经存在,则提示用户确认覆盖
-s 创建符号链接。如果系统不支持符号链接,则 导致命令出错
-v 详细信息模式,输出指令的详细执行过程
ln 默认创建链接为硬链接,不能对目录建立链接。要为目录建立链接必须使用“-s”选项,指明创建的链接类型为符号链接。
只能为普通文件创建硬链接, 不能为目录创建硬链接。而符号链接(软连接)则没有任何限制,
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
history: history指令用于显示指定数目的指令命令
n (n:表示显示指定数目的命令)
搜索查找类操作
find: find 查找文件或者目录
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
-name <查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件。
-empty 查找文件大小为0的目录或文件
-type<文件类型> 按照指定的文件类型查找文件,支持的文件类型如下: b块设备文件(block device) 、c字符设备文件( characterdevice)、d目录(directory)、p命名管道(FIFO) 、f普通文件、1符号链接文件(symbolic links) 、s网络套接字文件( socket)
grep: grep 过滤查找,在文件中搜索匹配的行 (管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理)
-n 显示匹配行及行号。
-i 忽略大小写的不同
-v 搜索不含指定字符串的行
which: which指令用于查找并显示给定指令的绝对路径
whereis: whereis显示指令及相关文件的路径
-b 仅查找二进制程序或命令
用户管理类操作
useradd: 添加新用户
-g 指定用户的主要组。默认情况下组名与用户名同名
-d 设置用户的宿主目录,默认的宿主目录为“/home/”目录下与用户名同名的目录。
-u 指定用户的ID 号
passwd: 设置用户密码
id: id 查看用户是否存在
查看创建的用户:cat /etc/passwd
su: su 切换用户
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
userdel: 删除用户及相关文件
-r 删除用户的同时,删除与用户相关的所有文件。
-f 强制删除用户,即使用户当前已登录
who: 查看登录用户信息
whoami (功能描述:显示自身用户名称)
who am i (功能描述:显示登录用户的用户名)
sudo: sudo 设置普通用户具有root权限
usermod: usermod指令用于修改用户的基本信息。
-g 修改用户的初始登录组,给定的组必须存在
-c 修改用户 的注释信息
-d 修改用户的宿主目录
用户组管理操作
groupadd: groupadd创建新工作组
groupadd 【组名】
groupadd -g 【组id】【组名】
groupdel: groupdel删除工作组
groupdel 【组名】
经验技巧: groupdel 指令无法删除用户的主要组(Primary Group), 即无法删除创建用户时自动为用户所创建的组(如果此用户还存在)。
groupmod: groupmod修改工作组信息
-n<新组名> 指定工作组的新组名
-g <新组ID> 指定 工作组的新组ID
查看创建的组: cat /etc/group
文件权限类操作
文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
chmod: chmod 改变权限
经验技巧:
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和) r=4 w=2 x=1 rwx=4+2+1=7
chown: 改变文件或目录所有者
chgrp: 改变所属组
date 显示当前时间
(1)date(功能描述:显示当前时间)
(2)date +%Y(功能描述:显示当前年份)
(3)date +%m(功能描述:显示当前月份)
(4)date +%d(功能描述:显示当前是哪一天)
(5)date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
显示非当前时间
(1)date -d ‘1 days ago’(功能描述:显示前一天时间)
(2)date -d ‘-1 days ago’(功能描述:显示明天时间)
设置系统时间
date -s 字符串时间
cal: 查看日历
不加选项,显示本月日历
具体某一年 显示这一年的日历
压缩和解压类操作
gzip/gunzip: 压缩与解压缩
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
经验技巧
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
zip/unzip: 压缩与解压缩
zip -r 递归处理,将指定目录下的所有文件和子目录一并处理
unzip -d <目录> 指定解压后文件的存放目录
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
tar: 打包备份
-z 打包同时压缩
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-x 解包.tar文件
tar指令的3个主选项“c”,“x”和"t"只能使用一个,不能同时使用没否则将导致命令报错
进程管理类操作
ps: 查看当前系统进程状态
ps -aux | grep xxx (功能描述:查看系统中所有进程)
-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示后台进程得运行参数
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;
kill: 终止进程
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
pstree: 查看进程树
-p 显示进程的PID
-u 显示进程的所属用户
性能监控命令
top: 指令实时报告系统整体性能情况
-d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
-i 使top不显示任何闲置或者僵死进程。
-p 通过指定监控进程ID来仅仅监控某个进程的状态。
在top进程里面执行的操作
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top
k 根据进程得id,杀死进程
free: 显示内存的使用情况
-b 以字节为单位显示内存使用情况
-k 以千字节为单位显示内存使用情况。默认
-m 以兆字节为单位显示内存使用情况
-t 显示汇总结果
-s<间隔秒数> 以指定间隔的秒数,显示内存使用情况
netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
-n 使用数字形式的IP、端口、用户ID、协议、用户等名称信息
-l 仅列出有在listen(监听)的服务状态
-p 表示显示哪个进程在调用
-a 显示处于监听状态和处于非监听状态的socket信息
-u 查看udp连接信息
磁盘分区类操作
df: df 查看磁盘空间使用情况(列出文件系统的整体磁盘使用量,显示磁盘分区上可用的磁盘空间)
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
du: du 显示每个文件和目录的磁盘使用空间占用情况
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
工作常用指令
1)统计/root文件夹下的文件的个数
ls -l /root | grep “^-” | wc -l
2)统计/root文件夹下的目录的个数
ls -l /root | grep “^d” | wc -l
3)统计/root文件夹下文件的个数,包括子文件夹里的
ls -lR /root | grep “^-” | wc -l
4)统计文件夹下目录的个数,包括子文件夹里的
ls -lR /root | grep “^d” | wc -l
5)以树状显示目录结构
yum install tree
tree
fdisk:查看
磁盘使用情况和磁盘分区
mount/umount: 对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它就是一个根目录、一个独立唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,Linux采用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)