丁永辉

个人站

欢迎来到我的个人博客~


Linux 常用命令

界面提示说明

当前用户:

​ Linux 超级用户:root

​ Windows 超级用户:adminstrator

主机名:

​ 创建服务器时起的名字,可以修改

当前目录:

​ 如果出现目录了,表示当前的目录路径

​ 管理员 /root

​ 普通用户 /home/用户名

# $号:

​ # 表示超级用户

​ $ 表示普通用户

常见目录说明

​ / 根目录

​ /root 超级用户的主目录

​ /home 普通用户的主目录

​ /bin 命令保存目录(普通用户就可以读取的命令)

​ /sbin 命令保存目录(超级用户才能使用的目录)

​ /boot 这里存放的是启动liunx时使用的一些核心文件 包括一些链接文件和镜像文件

​ /dev 这里存放的是liunx的外部设备 在liunx中访问设备的方式和访问文件的方式是相同的

​ /etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录

​ /lib 这个目录存放着系统最基本的动态链接共享库 起作用类似windows里的DDL文件

​ /mnt 系统挂载目录,U盘

​ /media 挂载目录,光盘

​ /misc 网络存储盘

​ /tmp 临时目录

​ /proc 直接写入内存

​ /usr 系统软件资源目录,系统的重要目录

​ /var 系统相关文档内容,系统的可变文件,比如日志,随时变化

​ /var/log/ 系统日志位置

常用快捷键命令

​ tab键 自动补全

​ ctrl+c 终止当前操作

​ ctrl+l 清屏

​ ctrl+r 查找历史命令

基本操作

​ uname -r 查看版本信息

​ pwd 查看用户当前的目录路径

​ ifconfig --help 查看网卡信息

​ setup 图形界面配置

​ date 显示日期

​ cal 显示日历

关机和重启

关机

​ shutdown -h now 立刻关机

​ shutdown -h 5(分钟) 5分钟后关机

​ poweroff 立刻关机

​ init 0 关机

重启

​ shutdown -r now 立刻重启

​ shutdown -r 5(分钟) 5分钟后重启

​ reboot 立刻重启

​ init 6 重启

操作命令

切换 cd

​ 命令:cd 目录或文件

​ cd / 切换到根目录

​ cd /test 切换到根目录下的test目录

​ cd ../ 切换到上一级目录 或者 cd..

​ cd ~ 切换到home目录

​ cd - 切换到上次访问的目录

查看 ls

参数:
 	1.  -l:列出长数据串,包含文件的属性与权限数据等
 	2.  -a:列出全部文件,连同隐藏的文件(开头为.的文件)一起列出来(常用)
 	3.  -d:仅列出目录本身,而不是列出目录的文件数据
 	4.  -h:将文件容量以较易读的方式(GB,KB等)列出来
 	5.  -R:连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

​ 命令:ls 参数

​ ls 查看当前目录下的所有目录和文件

​ ls -a 查看当前目录下的所有目录和文件(包括隐藏文件)

​ ls -l(也可以简写用 ll ) 查看当前目录下的所有目录和文件(列表形式查看,显示更多信息)

​ ls /filename(目录名) 查看指定目录下的所有目录和文件

​ ls -lR 列表的形式查看所有目录和文件 并且 列出当前目录下的所有文件

​ ls -l blog.md(文件名) 查看文件的时间属性

目录,文件【增,删,改,查】

创建目录或文件/增 mkdir 和 touch

mkdir 命令用于创建目录

参数:
	1.	-m:配置文件权限
	2.	-p:递归建立

​ 命令:

​ mkdir test 在当前目录下创建一个名为test的目录

​ mkdir /usr/test 在指定目录下创建一个名为test的目录

​ mkdir -p admin/include/upload/ 递归创建目录

touch 命令用于修改目录或文件的时间,包括存取时间和更改时间,如果文件不存在则会创建一个新的文件

​ 命令:

​ touch test 创建文件 修改文件时间属性为当前系统时间
修改blog.md文件的时间

删除目录或文件/删 rm

参数:
	1.	-f:就是force的意思,忽略不存在的文件,不会出现警告消息
	2.	-i:互动模式。在删除前会询问用户是否操作
	3.	-r:递归删除,最常用于目录删除(同样会询问是否执行删除操作)

​ 命令:rm -r 目录

​ 删除目录或文件:

​ rm 文件名 删除当前目录下的文件

​ rm -f index.html(文件名) 删除当前目录下的文件(不询问)

​ rm -r test(目录名) 递归删除当前目录下的test目录

​ rm -rf test 递归删除当前目录下的test目录(不询问)

​ 全部删除:

​ rm -rf * 当前目录下的所有目录和文件全部删除

​ rm -rf /* [自杀命令!慎用!] 将根目录下的所有文件全部删除

递归创建和递归删除 每次操作时先询问再执行删除

修改目录或文件/改 mv 和 cp

​ mv 命令用来为文件或目录改名、或将文件或目录移入其他位置

​ 重命名:

​ mv 当前目录 新目录

​ 剪切:

​ mv 目录名称 目录新的位置

​ 示例:将/usr/tmp目录下的test目录剪切到/usr目录下面 mv /usr/tmp/test /usr

​ cp 命令主要用于复制文件或目录

​ 拷贝:

​ cp -r 目录名称 目录拷贝的目标位置

​ 示例:将/usr/tmp目录下的test目录复制到/usr目录下面 cp /usr/tmp/test /usr

​ 也可以用vim命令进行修改 vi 文件名

搜索目录文件/查 find 和 cat

​ find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

与时间有关的参数:
		1.	-mtime n:n为数字,意思为在n天之前的"一天内"被更改过的文件
		2.	-mtime +n:列出在n天之前(不含n天本身)被更改过的文件名
		3.	-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名
		例如:find /root -mtime 0				在当天目录下查找今天之内有改动的文件

与用户或用户组名有关的参数:
		1.	-user name:列出文件所有者为name的文件
		2.	-group name:列出文件所属用户组为name的文件
		3.	-uid n : 列出文件所有者为用户ID为n的文件
		4.	-gid n : 列出文件所属用户组为用户组ID为n的文件
		例如:find /home/blog.md -user blog.md				在目录/home/blog.md中找出所有者为blog.md的文件blog.md

与文件权限及名称有关的参数:
		1.	-name filename:找出文件名为filename的文件
		2.	-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
		3.	-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p)
		4.	-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755
		5.	-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示
		6.	-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示

​ 例如:

​ find / -name passwd 查找文件名为passwd的文件

​ find . -perm 0755 查找当前目录中文件权限的0755的文件

​ find . -size +12k 查找当前目录中大于12KB的文件,注意c表示byte

压缩与解压文件

Windows中常见的压缩文件有:.zip .rar

Linux中 打包文件:.tar 压缩文件:.gz

tar 命令

参数:
1.	-c:新建打包文件
2.	-t:查看打包文件的内容含有哪些文件名
3.	-x:解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
4.	-j:通过bzip2的支持进行压缩/解压缩
5.	-z:通过gzip的支持进行压缩/解压缩
6.	-v:在压缩/解压缩过程中,将正在处理的文件名显示出来
7.	-f filename:filename为要处理的文件
8.	-C dir:指定压缩/解压缩的目录dir

gzip及bzip2压缩和解压

gzip 实例:压缩 gzip fileName .tar.gz 和.tgz  解压:gunzip filename.gz 或 gzip -d filename.gz
          对应:tar zcvf filename.tar.gz     tar zxvf filename.tar.gz

bz2实例:压缩 bzip2 -z filename .tar.bz2 	解压:bunzip filename.bz2或bzip -d filename.bz2
       对应:tar jcvf filename.tar.gz         解压:tar jxvf filename.tar.bz2

命令:

​ tar -cvf log.tar 1.log,2.log 或tar -cvf log.* 将文件全部打包成 tar 包

​ tar -zcvf /tmp/etc.tar.gz /etc 将 /etc 下的所有文件及目录打包到指定目录,并使用 gz 压缩

​ tar -ztvf /tmp/etc.tar.gz 查看刚打包的文件内容(一定加z,因为是使用 gzip 压缩的)

​ tar -zxvf etc.tar.gz -C /tmp/ 指定解压缩位置

用户和用户组管理

用户信息文件 /etc/passwd 查看所有用户信息

影子文件 /etc/shadow 查看哪些用户有密码

组信息文件 /etc/group 查看系统中有哪些用户组

1.添加用户

​ useradd 用户名

2.设置密码

​ passwd 用户名

​ 千万千万千万要写用户名,不写用户名默认修改root密码

3.删除用户

​ userdel -r 用户名

​ -r 连带用户目录一起删除

4.添加组

​ groupadd 组名

5. 删除组

​ groupdel 组名

6. 把已经存在的用户加入到我们创建的组中

​ gpasswd -a 用户名 组名 用户加入 组中

​ gpasswd -d 用户名 组名 把用户从组中拿出

7.切换用户身份

​ su 用户名

进程管理

主要三个功能

  1. 判断服务器是否健康

  2. 查看所有正在运行的进程

  3. 强制终止进程

**ps **命令用于显示当前进程的状态

参数:
	1.	-a:显示所有进程
	2.	-u:显示用户名
	3.	-x:显示所有后台进程
	4.	USER:用户名
	5.	PID:进程id
	6.	%CPU:cpu占用率百分比
	7.	%MEM:内存占用百分比
	8.	TIME:执行的时间
	9.	COMMAND:所执行的指令(进程本身)

命令:

​ ps aux 查看当前系统所有运行的进程(不需要 -) ​ ps -ax 查看不与terminal有关的所有进程 ​ ps -lA 查看系统所有的进程数据 ​ ps axjf 查看联通一部分进程树状态

pstree 命令查看进程树

命令:

​ pstree -p 显示进程id

​ pstree -u 显示用户名称

​ pstree -apnh 显示进程间的关系

top 命令用于实时监控进程动态

命令:

​ top 显示进程信息

​ top -c 显示完整命令

​ top -b 以批处理模式显示程序信息

​ top -S 以累积模式显示程序信息

​ top -n 2 设置信息更新次数,更新两次后终止更新显示

​ top -d 3 设置信息更新时间,周期为3秒

​ top -p 139 显示指定的进程信息,显示进程号为139的进程信息,CPU、内存占用率等

​ top -n 10 显示更新十次后退出

进程管理,终止进程

​ kill 命令用于删除执行中的程序或工作

​ kill pid 结束单个进程

​ kill 12345 杀死进程

​ kill -9 123456 彻底杀死进程

​ kill 1727 删除副进程

​ kill 1726 删除主进程

​ 刚才我们删除一个副进程主进程没有删除没有问题。

​ 但是如果我们删除一个主进程name这个进程里面,所有副进程全部消失

​ pkill -9 进程名 结束一类进程

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦