Linux 常用命令

关机&重启命令

shutdown(默认1分钟后关机)
shutdown -h now : 立即关机
shutdown -h 1 : 1分钟后关机
shutdown -r now : 立即重启
halt:禁用cpu,相当于直接关机
reboot:立即重启
sync:把内存上的数据同步到磁盘上(关机或重启前应该先执行此指令,防止数据丢失)

用户登录和注销

su 用户名:切换用户
logout:注销用户,在图形运行级别无效

用户管理

Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号的身份进入系统。
每个用户至少属于一个组。
添加用户: useradd -r -m -s /bin/bash 用户名
-r:建立系统账号
-m:自动建立用户的登入目录
-s:指定用户登入后所使用的shell
指定密码:passwd 用户名
删除用户:
userdel 用户名(删除用户保留家目录)
userdel -r 用户名 (删除用户及用户主目录)
查询用户:id 用户名
查看当前用户:whoami /who am I
用户组:系统对有共性的多个用户进行统一的管理
添加组:groupadd 组名
查看组id:grep 组名 /etc/group
修改组账户:groupmod -g[新id] -n[新组名] 组名
删除组:groupdel 组名
增加用户时直接加上组:useradd -g 用户组 用户
修改用户组:usermod -g 用户组 用户
相关文件:
/etc/passwd:用户的配置文件,记录用户的各种信息
用户名:口令:用户标识号:组标识号:注释性描述:登录shell
/etc/shadow:口令配置文件
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:不活动时间:失效时间:标志
/etc/group:组配置文件
组名:口令:组标识符

运行级别

0:关机
1:单用户(找回丢失密码)
2:多用户状态没有网络服务
3:多用户状态有网络
4:系统未使用保留给用户
5:图形界面
6:系统重启
/etc/inittab文件查看运行级别(ubuntu没有此文件)
修改默认运行级别:init [012356] (然后按ctrl+alt+F1,Ubuntu进入命令界面 )

帮助指令

man 指令
help 指令

文件管理

pwd:显示当前目录的绝对路径

ls [选项] [目录或是文件]:显示指定目录霞的文件信息
​ 常用选项:
​ -a:显示当前目录的所有文件或目录,包括隐藏文件;
​ -l:以列表的方式显示信息。
ls -a -l 等价于 ll

cd [目录]:进入指定目录
​ 绝对路径:从根目录出发定位 /home
​ 相对路径:从当前路径出发定位 ../home
​ cd ~ 进入当前用户的家目录
​ cd .. 进入当前目录的上一级目录

mkdir [选项] 目录:创建目录
​ -p:创建多级目录
​ rmdir [] 目录:删除目录
​ redir 目录:删除的是空目录;rm -rf 目录:删除非空目录

touch 文件名:创建一个空文件(可以一次创建多个文件)

cp [选项] 原文件 指定目录:拷贝文件到指定目录
​ -r:递归复制整个文件夹

rm [选项] 要删除的文件夹或目录:删除指定文件夹
​ -r:递归删除整个文件夹
​ -f:强制删除不提示

mv 原文件名 新文件名:文件重命名
mv 原文件路径 新文件路径:移动文件

cat [选项] 文件路径:查看文件内容
​ -n:显示行号
​ 管道命令:|,前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)
​ |more:分页显示
​ |less:效率比more高

>输出重定向:
>>追加:
​ ls -l >文件:将列表的内容写入文件中
​ ls -l >>文件:将列表的内容追加到文件的末尾

echo [选项] [输出内容]:输出内容到控制台

head 文件名:查看文件前10行
​ head -n 行数:查看文件的前任意行

tail 文件名:查看文件尾10行
​ tail -n 行数:查看文件尾任意行
​ tail -f 文件名:实时监控文件的更新

ln -s 原文件或目录 软链接:给文件创建一个软链接,相当于windows中的快捷方式

history :查看或执行(! 编号)已经执行过的指令

时间日期类

date:显示当前时间日期
date “+%Y-%M-%d %H:%m:%S”:按指定格式显示时间日期
date -s 字符串时间日期:设置时间日期

cal:显示当前日历

搜索查找类

find [搜索范围] [选项] :从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
选项:-name 文件名:按文件名查找
-user 用户名:按用户名查找
-size +/-文件大小:按文件大小查找(+表示大于 -表示小于 默认为等于)

locate 文件名:定位文件路径

grep [选项] 查找内容 源文件:
选项:-n:匹配行号
-i:忽略大小写

压缩和解压类

gzip 文件名:压缩文件

gunzip 文件名:解压文件

zip [选项] 文件名.zip 将要压缩的内容:压缩文件
选项:-r:递归压缩,即压缩目录

unzip [选项] 文件名.zip:解压缩文件
选项:-d:指定解压后文件的存放目录

tar [选项] 文件名.tar.gz 打包的内容
选项:
-c:产生.tar打包文件
-v:显示详细信息
-f:指定压缩后的文件
-z:打包同时压缩
-x:解包.tar文件
tar -zcvf xxx.tar.gz 要压缩的文件或目录:压缩文件
tar -zxvf xxx.tar.gz -C 路径:解压到指定路径

用户组管理

在linux中的每一个用户都必须属于一个组们不能独立于组外。
在linux中每个文件有所有者,所在组,其他组。
文件/目录的所有者:一般为文件的创建者
查看文件的所有者:ls -ahl
chown 文件名 用户:更改文件所有者
chgrp 组名 文件名:修改文件所在组
chown 新的所有者:新的所在组 文件名:同时改变文件所有者和所在组
-R:如果是目录则使其下所有子文件或目录递归生效

创建组:groupadd 组名
在组内添加用户:useradd -g 组名 用户名
改变用户所在组:usermod -g 组名 用户名
改变用户登录的初始目录:usermod -d 目录名 用户

文件/目录权限:
r:对于文件代表可以读取,查看
w:对于文件代表可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件的目录有写权限。
x:对于文件代表可以执行

r:对于目录,可以读取,ls查看目录内容
w:对于目录,可以修改,目录内创建,删除,重命名
x:对于目录,可以进入该目录

文件/目录权限管理

chmod:修改文件/目录权限
第一种方式:+、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人
chmod u=rwc,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
规定:r=4 w=2 x=1

任务调度

crontab [选项]
-e 编辑crontab定时任务
-l 查看crontab任务
-r 删除当前用户所有的crontab任务

磁盘分区、挂载

分区的方式:

1) mbr分区:
1.最多支持四个主分区
2.系统只能安装在主分区
3.扩展分区要占一个主分区
4.MBR最大只支持2TB,但拥有最好的兼容性

2) gtp分区:
1.支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
2.最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB )
3.windows7 64位以后支持gtp

linux的磁盘分区作为文件被挂载(mount)到根目录下的文件夹中,同时也可以将其卸载(umount)。
硬盘说明:
1.linux硬盘分IDE硬盘和SCSI硬盘,目前使用的基本上是SCSI硬盘。
2.对于IDE硬盘,驱动器标识符为 hdx~
3.对于SCSI硬盘则标识符为sdx~

查看所有设备的挂载情况:lsblk 或lsblk -f

分区命令:fdisk /dev/sdb
n 新增分区 w 写入退出
格式化磁盘:mkfs -t ext4 /dev/sdb1
挂载磁盘:mount 设备名称 挂载目录
卸载磁盘:umount 设备名称或挂载目录
永久挂载:通过修改 /etc/fstab —–> 执行mount -a
4.查询磁盘使用情况:
查询磁盘整体使用情况:df -lh
查询指定目录的磁盘使用情况:du -h 目录
工作常用指令:
1、统计/home文件夹下文件的个数
ls -l /home |grep “^-“|wc -l
2、统计/home文件夹下的目录个数
ls -l /home | grep “^d” | wc -l
3、统计/hom文件夹下文件的个数,包括子文件夹里面的
ls -lR /home |grep “^-“|wc -l
4、统计/home文件夹下目录的个数,包括子文件夹下的
ls -lR /home | grep “^d” | wc -l
5、以树状显示文件结构
tree 目录

进程管理

查看进程:

ps -aux [| grep 进程名]:显示当前终端所有的进程信息

ps -ef:查看父进程

终止进程:

kill -[选项] 进程号

killall 进程名
选项:9 强制终止

service服务管理:

service 服务名 [start | stop | restart | reload | status]

ls -l /etc/init.d/ 列出系统服务

动态监控进程:

top -d 秒数 :每隔几秒就刷新

监控网络情况:

netstat [选项]

-n 按一定顺序排列输出
-p 显示哪个进程在调用