笔记:Linux常用命令

1、man 查看帮助文档

格式:man command	   #显示 command 命令的帮助信息;
例如:man ls			   #展示ls命令的帮助文档;

说明:
1、查阅 command 命令的使用手册;
2、man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用说明;
使用 man 的操作键:
空格键		#显示手册页的下一屏;
Enter 键	#一次滚动手册页的一行;
b			#回滚一屏;
f			#前滚一屏;
q			#退出;
/word		#搜索 word 字符串;

1、help 查看帮助文档

格式:command --help		   #显示 command 命令的帮助信息;
例如:ls --help			   #展示ls命令的帮助文档;

1、ls 查看目录内容

说明:ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于 DOS 下的 dir 命令;
Linux 下文件和目录的特点
	1、Linux文件或目录名称最长可以有 256 个字符;
	2、以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示;
	3. 代表当前目录;
	4.. 代表上一级目录;
ls 常用选项
参数	含义
-a		显示指定目录下所有子目录与文件,包括隐藏文件;
-l		以列表方式显示文件的详细信息;
-h		配合 -l 以人性化的方式显示文件大小;
计算机中文件大小的表示方式:
单位	英文			含义
字节	B(Byte)		在计算机中作为一个数字单元,一般为 8 位二进制数
千		K(Kibibyte)	1 KB = 1024 B,千字节 (1024 = 2 ** 10)
兆		M(Mebibyte)	1 MB = 1024 KB,百万字节
千兆	G(Gigabyte)	1 GB = 1024 MB,十亿字节,千兆字节
太		T(Terabyte)	1 TB = 1024 GB,万亿字节,太字节
拍		P(Petabyte)	1 PB = 1024 TB,千万亿字节,拍字节
艾		E(Exabyte)	1 EB = 1024 PB,百亿亿字节,艾字节
泽		Z(Zettabyte)	1 ZB = 1024 EB,十万亿亿字节,泽字节
尧		Y(Yottabyte)	1 YB = 1024 ZB,一亿亿亿字节,尧字节
ls 通配符的使用:
通配符		含义
*			#代表任意个数个字符;
?			#代表任意一个字符,至少 1 个;
[]			#表示可以匹配字符组中的任一一个;
[abc]		#匹配 a、b、c 中的任意一个;
[a-f]		#匹配从 a 到 f 范围内的的任意一个字符;
ls 示例:
ls xx*		#查找以xx开头的文件;
ls *xx		#查找以xx结尾的文件;
ls ?.c		#只找第一个字符任意,后缀为.c的文件; 
[abc]		#匹配a、b、c中的任意一个; 
[a-f]		#匹配从a到f范围内的的任意一个字符; 
ls [af]*	#找到从a到f范围内的的任意一个字符开头的文件; 
ls a-f 		#查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用;
ls \*a		#查找文件名为*a的文件;
ls -a		#显示所有内容详情,包括隐藏文件,隐藏文件以.开头;
ls /-a /root	#显示root目录下所有内容;
ls -l或ll		#以列表的形式显示内容详情;一行只显示一个文件/目录的详细信息;
ls /			#列出根目录(\)下的所有目录;
\		#如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用;

1、cd 切换目录

1、cd 是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一;
2、注意:Linux 所有的目录和文件名都是大小写敏感的;
常用命令:
cd		#切换到当前用户的主目录(/home/用户目录);
cd ~	#切换到当前用户的主目录(/home/用户目录);
cd .	#保持在当前目录不变;
cd ..	#切换到上级目录;
cd -	#可以在最近两次工作目录之间来回切换;
cd ../..	#切到当前目录的上两级目录;
cd /home	#切到/home目录;
相对路径和绝对路径:
1、相对路径在输入路径时,最前面不是 / 或者 ~,表示相对当前目录所在的目录位置;
2、绝对路径在输入路径时,最前面是 / 或者 ~,表示从根目录/家目录开始的具体目录位置;

1、touch 创建文件或修改文件时间

1、如果文件不存在,可以创建一个空白文件;
2、如果文件已经存在,可以修改文件的末次修改日期;

touch 1.txt					#创建文件(如果kr.txt文件已存在,会修改文件的时间属性,不存在则创建文件)
touch 1.txt 2.txt 3.txt		#一次性创建3个文件
touch test2/1.txt 			#创建文件,test2目录不存在会报错;
touch test  	#创建test目录(如果test2目录已存在,会修改test2目录的时间属性,但是test2目录下内容的属性不会被修改,不存在则创建test2)

1、rm 删除文件或目录

1、使用 rm 命令要小心,因为文件删除后不能恢复;
2、选项含义
	-f		强制删除,忽略不存在的文件,无需提示;
	-r		递归地删除目录下的内容,删除文件夹时必须加此参数;

1、rmdir 删除目录

rmdir  目录名1					#删掉目录名1
rmdir -p 目录名1/目录名2/目录名3	#依次删掉目录名1/目录名2/目录名3

1、mkdir 创建一个新的目录

1、新建目录的名称不能与当前目录中已有的目录或文件同名;
2、选项含义
	-p	可以递归创建目录;

mkdir 目录名						#创建一个目录
mkdir -p 目录名1/目录名2/目录名3	#连续创建3个目录

1、tree 以树状图列出文件目录结构

选项含义
-d		#只显示目录

1、cp 把给出的文件或目录复制到另一个文件或目录中,相当于 DOS 下的 copy 命令;

选项含义
-i		#覆盖文件前提示;
-r		#若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名;

1、mv 移动文件或目录,也可以给文件或目录重命名

选项含义
-i		覆盖文件前提示

1、cat 查看文件内容、创建文件、文件合并、追加文件内容等功能

1、cat 会一次显示所有的内容,适合查看内容较少的文本文件;
2、Linux 中还有一个 nl 的命令和 cat -b 的效果等价;
选项含义
-b		对非空输出行编号
-n		对输出的所有行编号

1、more 分屏显示文件内容,每次只显示一页内容

1、more适合于查看内容较多的文本文件;

使用 more 的操作键:
操作键		功能
空格键		#显示手册页的下一屏;
Enter键		#一次滚动手册页的一行;
b			#回滚一屏;
f			#前滚一屏;
q			#退出;
/word		#搜索 word 字符串;

1、grep 文本搜索工具

1、grep允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式;

选项含义
-n		显示匹配行及行号;
-v		显示不包含匹配文本的所有行(相当于求反);
-i		忽略大小写;

常用的两种模式查找
^a			行首,搜寻以 a 开头的行;
a$			行尾,搜寻以 a 结束的行;

1、shutdown 安全关闭或重新启动系统

命令:shutdown 选项 时间		#关机/重新启动

选项含义:
	-r	重新启动

提示:
	1、不指定选项和参数,默认表示 1 分钟之后关闭电脑;
	2、远程维护服务器时,最好不要关闭系统,而应该重新启动系统;
常用命令:
shutdown now		#立刻关机,其中now表示现在,shutdown会给别的用户提示;
shutdown 20:25		#系统在今天的 20:25 会关机;
shutdown +10		#系统再过十分钟后自动关机;
shutdown -c			#取消关机
shutdown -r now		#重新启动操作系统,其中 now 表示现在;
shutdown -h now 	#立刻关机,其中now相当于时间为0的状态
shutdown -h 10		#10分钟后自动关机
shutdown -h 10:00	#定时在10点关机
shutdown -h -t 30	#30秒后安全的关机

1、reboot 开机

1、ifconfig 查看或配置网卡信息

命令		对应英文							作用
ifconfig	configure a network interface	查看/配置计算机当前的网卡配置信息
ping ip地址	ping							检测到目标 ip地址 的连接是否正常

1、网卡 和 IP 地址

1、网卡
	1、网卡是一个专门负责网络通讯的硬件设备;
	2、IP 地址是设置在网卡上的地址信息;
	3、我们可以把电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码;

2、IP 地址
	1、每台联网的电脑上都有IP地址,是保证电脑之间正常通讯的重要设置;
	2、注意:每台电脑的 IP 地址不能相同,否则会出现 IP 地址冲突,并且没有办法正常通讯;

1、ifconfig 查看/配置计算机当前的网卡配置信息

提示:
1、一台计算机中有可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以ensXX表示;
2127.0.0.1 被称为本地回环/环回地址,一般用来测试本机网卡是否正常;

ifconfig			   	#显示网络设备信息
ifconfig | grep inet	#查看网卡对应的 IP 地址
ifconfig eth0 down	   	#关闭指定网卡
ifconfig eth0 up	    #启动指定网卡
ifconfig eth0 add 33ffe:3240:800:1005::2/ 64	   #为网卡设置IPv6地址
ifconfig eth0 del 33ffe:3240:800:1005::2/ 64	   #为网卡删除IPv6地址
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE		   #修改MAC地址
ifconfig eth1 hw ether 00:1D:1C:1D:1E			   #关闭网卡并修改MAC地址 

配置IP地址
ifconfig eth0 192.168.1.56 							   #给eth0网卡配置IP地址
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 	   #给eth0网卡配置IP地址,并加上子掩码
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255    # 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

启用和关闭ARP协议
ifconfig eth0 arp      #开启
ifconfig eth0 -arp     #关闭

设置最大传输单元
ifconfig eth0 mtu 1500 	   #设置能通过的最大数据包大小为 1500 bytes

1、ping 查看网络连接情况(网络接口);检测当前计算机到目标计算机之间的网络是否通畅,数值越大,速度越慢;

ping IP地址		#查看ip/域名连通状况,手动终止Ctrl+C
ping 127.0.0.1	#检测本地网卡工作正常
ping -c 次数(3) ip/域名    #指定接收包的次数,收到3次包后,自动退出。
ping -i 3 -s 1024 -t 255 g.cn(ip/域名)	   #多参数使用,-i 3 发送周期为 3-s 设置发送包的大小 -t 设置TTL值为 255

1、ping 的工作原理与潜水艇的声纳相似,ping 这个命令就是取自声纳的声音;
2、网络管理员之间也常将 ping 用作动词,ping 一下计算机X,看他是否开着;
3、原理:网络上的机器都有唯一确定的 IP 地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机的存在;
4、提示:在 Linux 中,想要终止一个终端程序的执行,绝大多数都可以使用 CTRL + C;

1、ip 显示或设置网络设备

ip比ifconfig 命令更强大;
ip link show       #显示网络接口信息
ip addr show       #显示网卡IP信息
ip link list	   #显示网络设备的运行状态
ip route list	   #显示核心路由表
ip neigh list	   #显示邻居表
ip route show	   #显示系统路由
ip route list      #看路由信息
ip -s link list	   #显示更加详细的设备信息
ip link set eth0 up    		   #开启网卡
ip route del default    	   #删除默认路由
ip link set eth0 down          #关闭网卡
ip link set eth0 mtu 1400      #设置网卡最大传输单元
ip route del 192.168.4.0/24    #删除192.168.4.0网段的网关
ip link set eth0 promisc on         #开启网卡的混合模式
ip link set eth0 promisc offi       #关闭网卡的混个模式
ip link set eth0 txqueuelen 1200    #设置网卡队列长度
ip addr add 192.168.0.1/24 dev eth0 	   #设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 	   #删除eth0网卡IP地址
ip route add default via 192.168.1.254     #设置系统默认路由
ip route add default via  192.168.0.254  dev eth0      #设置默认网关为192.168.0.254
ip route delete 192.168.1.0/24 dev eth0 			   #删除路由
ip link | grep -E '^[0-9]' | awk -F: '{print $2}'	   #获取主机所有网络接口
ip route add 192.168.4.0/24  via  192.168.0.254 dev eth0 	   #设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口

1、远程登录和复制文件

ssh 用户名@ip									#对应英文:secure shell	关机/重新启动
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径	#对应英文:secure copy	远程复制文件

1、ssh 初级

1、在 Linux 中SSH是非常常用的工具,通过SSH客户端,我们可以连接到运行了SSH服务器的远程机器上;
2、SSH 客户端是一种使用 Secure Shell(SSH) 协议连接到远程计算机的软件程序;
3、SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议;
4、利用 SSH 协议可以有效防止远程管理过程中的信息泄露;
5、通过 SSH 协议可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗;
6、SSH 的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度;

在这里插入图片描述

1、域名:由一串用点分隔的名字组成,例如:www.itcast.cn;是IP地址的别名,方便用户记忆;
2、端口号
	IP 地址:通过 IP 地址找到网络上的计算机;
	端口号:通过端口号可以找到计算机上运行的应用程序;
	SSH 服务器的默认端口号是22,如果是默认端口号,在连接的时候,可以省略;
3、常见服务端口号列表:
序号		服务			端口号
01		SSH 服务器	22
02		Web 服务器	80
03		HTTPS		443
04		FTP 服务器	21

1、scp

1、scp 就是 secure copy,是一个在 Linux 下用来进行远程拷贝文件的命令;
2、它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写的;
3、选项含义
-r	#若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名;
-P	#若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口;
注意:
1、scp 这个终端命令只能在 Linux 或者 UNIX 系统下使用;
2、如果在 Windows 系统中,可以安装 PuTTY,使用 pscp 命令行工具或者安装 FileZilla 使用 FTP 进行文件传输;

在这里插入图片描述

#把本地当前目录下的 01.py 文件复制到远程家目录下的 Desktop/01.py;
#注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径;
scp -P port 01.py user@remote:Desktop/01.py

#把远程家目录下的 Desktop/01.py 文件复制到本地当前目录下的01.py;
scp -P port user@remote:Desktop/01.py 01.py

#加上 -r 选项可以传送文件夹;
#把当前目录下的 demo 文件夹复制到远程家目录下的Desktop;
scp -r demo user@remote:Desktop

#把远程家目录下的Desktop复制到当前目录下的 demo 文件夹;
scp -r user@remote:Desktop demo

FileZilla
官方网站:https://www.filezilla.cn/download/client

FileZilla 在传输文件时,使用的是 FTP 服务,而不是 SSH 服务,因此端口号应该设置为 21

3.3、SSH 高级

1、免密码登录;
2、配置别名;
提示:有关 SSH 配置信息都保存在用户家目录下的 .ssh 目录下;

1)免密码登录
1、配置公钥:执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可;
2、上传公钥到服务器:执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥;

非对称加密算法
	使用 公钥 加密的数据,需要使用 私钥 解密;
	使用 私钥 加密的数据,需要使用 公钥 解密;

在这里插入图片描述

2) 配置别名
1、每次都输入 ssh -p port user@remote,时间久了会觉得很麻烦,特别是当 user, remote 和 port 都得输入,而且还不好记忆;
2、而配置别名可以让我们进一步偷懒,例如用:ssh mac 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容:
Host mac
    HostName ip地址
    User itheima
    Port 22
保存之后,即可用 ssh mac 实现远程登录了,scp 同样可以使用;

1、用户和权限的基本概念

1、用户是 Linux 系统工作中重要的一环,用户管理包括用户与组管理;
2、在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限;
3、在 Linux 中,可以指定每一个用户针对不同的文件或者目录的不同权限;
对文件/目录的权限包括:
	序号	权限	英文	缩写	数字代号
	01		读		read	r		4
	02		写		write	w		2
	03		执行	excute	x		1

1、组

1、为了方便用户管理,提出了组的概念,如下图所示;
2、在实际应用中,可以预先针对组设置好权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限;

在这里插入图片描述
1、ls -l 扩展

ls -l 可以查看文件夹下文件的详细信息,从左到右依次是:
drwxr-xr-x.3 root root 4096 Mar 24 18:48 opt解析

权限			#第1个字符,- #普通文件、d	#目录
硬链接数			#通俗地讲,就是有多少种方式,可以访问到当前目录/文件
拥有者			#家目录下 文件/目录 的拥有者通常都是当前用户
组				#在 Linux 中,很多时候,会出现组名和用户名相同的情况;
大小			#文件的大小
时间			#日期和时间		
名称			#文件名				
	
权限
	user  u 	拥有者的权限
	group g 	所在组的权限
	other o 	其他组的权限

在这里插入图片描述

1、超级用户

1、Linux 系统中的 root 账号通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限;
2、在大多数版本的 Linux 中,都不推荐直接使用 root 账号登录系统;
3、在 Linux 安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”;
sudo:
1、su 是 substitute user 的缩写,表示使用另一个用户的身份;
2、sudo 命令用来以其他身份来执行命令,预设的身份为root;
3、用户使用 sudo 时,必须先输入密码,之后有 5 分钟的有效期限,超过期限则必须重新输入密码;
4、若其未经授权的用户企图使用 sudo,则会发出警告邮件给管理员;

1、组管理终端命令

提示:“创建组/删除组”的终端命令都需要通过 sudo 执行;

命令						作用
groupadd 组名				添加组;
groupdel 组名				删除组;
cat /etc/group				确认组信息;
chgrp -R 组名 文件/目录名	递归修改文件/目录的所属组;

提示:

1、组信息保存在 /etc/group 文件中;
2/etc 目录是专门用来保存“系统配置信息”的目录;
3、在实际应用中,可以预先针对“组”设置好权限,然后把不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限;

在这里插入图片描述
1、用户管理终端命令

提示:创建用户/删除用户/修改其他用户密码的终端命令都需要通过 sudo 执行;

1、创建用户/设置密码/删除用户

命令								作用				说明
useradd -m -g 组 新建用户名		添加新用户		-m 自动建立用户家目录
												-g 指定用户所在的组,否则会建立一个同名的组
passwd 用户名					设置用户密码		如果是普通用户,直接用 passwd 可以修改自己的账户密码
userdel -r 用户名				删除用户			-r 选项会自动删除用户家目录
cat /etc/passwd | grep 用户名	确认用户信息		新建用户后,用户信息会保存在 /etc/passwd 文件中

提示:

1、创建用户时,如果忘记添加-m选项指定新用户的家目录->最简单的方法就是删除用户,重新创建;
2、创建用户时,默认会创建一个和用户名同名的组名;
3、用户信息保存在 /etc/passwd 文件中;

1、查看用户信息

命令			作用
id [用户名]		查看用户 UID 和 GID 信息
who				查看当前所有登录的用户列表
whoami			查看当前登录用户的账户名

(1)passwd 文件

/etc/passwd 文件存放的是用户的信息,由6个分号组成的7个信息,分别是
1、用户名;
2、密码(x,表示加密的密码);
3、UID(用户标识);
4、GID(组标识);
5、用户全名或本地帐号;
6、家目录;
7、登录使用的 Shell,就是登录之后,使用的终端命令,ubuntu 默认是 dash;

(2)usermod

usermod 可以用来设置用户的主组/附加组和登录Shell,命令格式如下:
	1、主组:通常在新建用户时指定,在 etc/passwd 的第4列 GID 对应的组;
	2、附加组:在 etc/group 中最后一列表示该组的用户列表,用于指定用户的附加权限;
提示:设置了用户的附加组之后,需要重新登录才能生效!

usermod -g 组 用户名			#修改用户的主组(passwd 中的 GID)
usermod -G 组 用户名			#修改用户的附加组
usermod -s /bin/bash 用户名	#修改用户登录 Shell

(3)which

提示:
1/etc/passwd 是用于保存用户信息的文件;
2/usr/bin/passwd 是用于修改用户密码的程序;

which 命令可以查看执行命令所在位置,例如:
which ls
	# 输出
	# /bin/ls

which useradd
	# 输出
	# /usr/sbin/useradd

(4)bin 和 sbin

1、在Linux中,绝大多数可执行文件都是保存在 /bin、/sbin、/usr/bin、/usr/sbin;
2/bin(binary)是二进制执行文件目录,主要用于具体应用;
3/sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理;
4/usr/bin(user commands for applications)后期安装的一些软件;
5/usr/sbin(super user commands for applications)超级用户的一些管理程序;

提示:cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法找到cd命令的位置;

1、切换用户

命令			作用						说明
su - 用户名		切换用户,并且切换目录;		可以切换到用户家目录,否则保持位置不变;
exit			退出当前登录账户;

su 不接用户名,可以切换到root,但是不推荐使用,因为不安全;
exit 示意图如下:

在这里插入图片描述
1、修改文件权限

命令		作用
chown		修改拥有者
chgrp		修改组
chmod		修改“用户/组”对“文件/目录”的权限

命令格式

chown 用户名 文件名|目录名		#修改文件|目录的拥有者;
chgrp -R 组名 文件名|目录名		#递归修改文件|目录的组;
chmod -R 755 文件名|目录名		#指定文件/目录为所有用户可读、写、执行的权限;-R递归变更;
chmod -R 644 dir/				#将dir目录下的所有文件权限设置为644-R递归变更;
chmod og-x file1				#给该文件所在组和其他组删掉可执行的权限;
chmod g-x file1					#给该文件所在组删掉可执行的权限;
chmod o=r file1					#给该文件的其他组权限设置为可读的权限;
chmod u=rwx file1				#给该文件的拥有者权限设置为可读、写、 执行的权限;
chmod u+rwx file1
chmod 777 file2					#指定文件file2为所有用户可读、写、执行的权限;	
chmod ugr+rwx file2

chmod 在设置权限时,可以简单的使用三个数字分别对应“拥有者/组”和“其他”用户的权限;

#直接修改文件|目录的“读||执行”权限,但是不能精确到“拥有者||其他”;
chmod +/-rwx 文件名|目录名

提示:以上方式会一次性修改“拥有者/组”权限;

常见数字组合有(u表示用户;g表示组;o表示其他):
777 ===> u=rwx,g=rwx,o=rwx
755 ===> u=rwx,g=rx,o=rx
644 ===> u=rw,g=r,o=r

在这里插入图片描述
在这里插入图片描述

1、时间和日期

命令		作用
date	查看系统时间
cal		calendar 查看日历,-y 选项可以查看一年的日历

1、磁盘信息

命令					作用
df -h				disk free 显示磁盘剩余空间
du -h [目录名]		disk usage 显示目录下的文件大小
选项说明:
-h	以人性化的方式显示文件大小

1、进程信息

1、所谓进程,通俗地说就是当前正在执行的一个程序;
2、默认只会显示当前用户通过终端启动的应用程序;
命令					作用
ps aux				process status 查看进程的详细状况;
top					动态显示运行中的进程并且排序;q 退出;
kill [-9] 进程PID	终止指定代号的进程,-9 表示强行终止;

选项含义
a		显示终端上的所有进程,包括其他用户的进程;
u		显示进程的详细状态;
x		显示没有控制终端的进程;
提示:使用 kill 命令时,最好只终止由当前用户开启的进程,而不要终止 root 身份开启的进程,否则可能导致系统崩溃;

1、VI - 终端中的编辑器

1、find 查找文件或目录

说明:find 命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件;
格式:find [路径] -name "*.py"		   #查找指定路径下扩展名是.py 的文件,包括子目录。
注意:如果省略路径,表示在当前文件夹下查找。
命令		
find [路径] -name "*.py"	#查找指定路径下扩展名是.py 的文件,包括子目录;
find -name "*1*"			#在当前目录下查找名字包含t的文件/目录;
find . -name '*1*' 			#在当前目录下查找所有名字包含1的文件/目录;
find -name "*.txt"			#在当前目录下查找所有以.txt为扩展名的文件;
find -name "1*"				#在当前目录下查找所有以数字1开头的文件;
find / -name 文件/目录   	#在根目录下查找文件/目录;
find / -amin -10   		#查找在系统中最后10分钟访问的文件(access time);
find / -atime -2   		#查找在系统中最后48小时访问的文件;
find / -mtime -1   		#查找在系统中最后24小时里修改过的文件;
find / -mmin -5    		#查找在系统中最后5分钟里修改过的文件(modify time);
find / -empty      		#查找在系统中为空的文件或者文件夹;
find / -group cat   		#查找在系统中属于group为cat的文件;
find / -user 用户名1 		#查找在系统中属于用户名1的文件;
find / -size +10000c 		#查找在系统中大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB);
find / -size -1000k  		#查找在系统中小于1000KB的文件;

1、软链接&硬链接

格式:
ln -s 被链接的源文件 链接文件		#建立文件的软链接,类似于Windows下的快捷方式;
ln 被链接的源文件 链接文件			#建立文件的硬链接;
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

注意:
1、在使用 ln 创建链接时,如果没有-s选项,创建的是一个硬链接,而不是软链接;
2、源文件要使用绝对路径,不能使用相对路径,这样可以保证链接文件在被移动后仍然能够正常使用;
3、硬链接的特点:两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接;

文件软硬链接的示意图

在Linux中,文件名和文件的数据是分开存储的;
提示:
1、在Linux中,只有文件的硬链接数 == 0 才会被删除;
2、使用 ls -l 可以查看一个文件的硬链接的数量;

在这里插入图片描述
1、压缩解压文件

打包压缩是日常工作中备份文件的一种方式,在不同操作系统中,常用的打包压缩方式是不同的,例如:
1、Windows 常用 rar
2、Mac 常用 zip
3、Linux 常用 tar.gz

1、zip 压缩解压文件

zip -q -r 压缩包名.zip 路径             #压缩指定路径下所有内容
zip -q -r 压缩包名.zip *				   #压缩当前路径下所有内容
zip    压缩包名.zip 要压缩的文件名 	   #压缩文件
zip -r 压缩包名.zip 要压缩的目录名       #压缩目录

unzip 压缩包名						   #解压
zip -dv 压缩包名.zip  文件名     	   #从压缩包中删除文件

1、gzip 压缩解压文件

gzip 要压缩的文件/目录    	    #压缩文件/目录压缩成gz格式,并删除原文件
gunzip gz压缩包名         	    #解压,不保留原压缩包

gzip -rc 目录名>目录名.gz        #压缩目录成gz格式,并保留原目录
gunzip -rc gz压缩包名>文件名     #解压成文件,保留原压缩包

gzip -c 要压缩的文件名>压缩包名.gz      #压缩文件成gz格式,并保留原文件
gunzip -c gz压缩包名>文件名            #解压成文件,保留原压缩包

1、tar 压缩解压文件

tar 是 Linux 中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个 打包的大文件恢复成一系列文件;

命令格式:
tar -cvf 打包文件.tar 被打包的文件/路径...	#打包文件
tar -xvf 打包文件.tar						#解包文件

命令格式:
tar -czvf xx.tar.gz 文件名     				#压缩文件
tar -xzvf xx.tar.gz           				#解压文件
tar -tzvf xx.tar.gz           				#列出压缩文件内容
tar -zxvf 打包文件.tar.gz -C 目标路径		#解压缩到指定路径;-C	#解压缩到指定目录,注意:要解压缩的目录必须存在;
选项说明:
c		#生成档案文件,创建打包文件;
x		#解开档案文件;
v		#列出归档解档的详细过程,显示进度;
f		#指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后;

注意:f 选项必须放在最后,其他选项顺序可以随意;

1、gzip 压缩解压文件

1、tar 与 gzip 命令结合可以使用实现文件打包和压缩;
2、tar 只负责打包文件,但不压缩;tar用于压缩并备份文件;
3、用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz;
4、在 Linux 中,最常见的压缩文件格式是: xxx.tar.gz;
5、在 tar 命令中有一个选项 -z 可以调用 gzip,从而可以方便的实现压缩和解压缩的功能;

1、bzip2 压缩解压文件

1、tar 与 bzip2 命令结合可以使用实现文件打包和压缩(用法和 gzip 一样);
2、tar 只负责打包文件,但不压缩;
3、用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.bz2;
4、在 tar 命令中有一个选项 -j 可以调用 bzip2,从而可以方便的实现压缩和解压缩的功能;
命令格式:
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...	#压缩文件
tar -jxvf 打包文件.tar.bz2						#解压文件

1、apt 安装、卸载软件

1、apt 是 Advanced Packaging Tool,是 Linux 下的一款安装包管理工具;
2、apt 可以在终端中方便的“安装/卸载/更新软件包”;

sudo apt install 软件包		#安装软件
sudo apt remove 软件名		#卸载软件
sudo apt upgrade			#更新已安装的包 

1、yum 安装、卸载、更新、查看软件

yum install lrzsz>输入y->安装完成	   #安装lrzsz工具包
在线安装
	yum install 应用名称
	yum install mysql-server
在线卸载
	yum remove  应用名称
	yum remove mysql-server

源码包安装
	将源码包放入linux系统,解压即可;
源码包卸载
	把包删除即可;
更新应用
	yum update  应用名称
查看"应用"安装包是否存在
	yum list |grep 'XX应用名*'
	yum list |grep 'musql*'
查看"应用"是否安装成功
	service 应用名称 status
	service mysqld status

2、配置软件源

1、如果希望在 ubuntu 中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器,来提供软件下载/安装服务;
2、所谓镜像源,就是所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器通常速度会更快一些!

提示:更换服务器之后,需要一个相对比较长时间的更新过程,需要耐心等待。更新完成后,再安装软件都会从新设置的服务器下载软件了;

在这里插入图片描述
在这里插入图片描述

1、echo

1、echo会在终端中显示参数指定的文字,通常会和重定向联合使用;
2、格式:echo 文字内容;

1、重定向 > 和 >>

1、Linux允许将命令执行结果重定向到一个文件,将本应显示在终端上的内容输出/追加到指定文件中;
	>  表示输出,会覆盖文件原有的内容;如果不存在内容,则创建;
	>> 表示追加,会将内容追加到已有文件的末尾;

1、管道 |

1、Linux允许将一个命令的输出可以通过管道做为另一个命令的输入;可以理解现实生活中的管子,管子的一头塞东西进去(),另一头取出来(),这里 | 的左右分为两端,左端塞东西(写),右端取东西(读);
2、常用的管道命令有:
	more:分屏显示内容;
	grep:在命令执行结果的基础上查询指定的文本;
3、示例
ls / | more

1、grep 对文本文件进行模式查找

格式:grep [-选项] ‘搜索字符串’ 文件名
指令:
grep -n '^x' 1.txt				 #^x,行首,搜寻以 m 开头的行
grep -n 'x$' 1.txt				 #x$,行尾,搜寻以x结束的行
grep -n '[Ss]igna[Ll]' 1.txt     #搜寻匹配单词signal、signaL、Signal、SignaL的行
								 #[Ss]igna[Ll],匹配 [] 里中一系列字符中的一个
grep -n 'e.e' 1.txt    			 #匹配e和e之间有任意一个字符,可以匹配 eee、eae、eve、但是不匹配 ee、eaae
					   			 #.()匹配一个非换行符的字符
grep 'a' 1.txt

1、df 显示目前在Linux系统上的文件系统磁盘使用情况统计

格式:df [选项]... [FILE]...
df  			#显示文件系统的磁盘使用情况统计
df 文件名   		#显示磁盘使用的文件系统信息
df -i 			#显示inode信息而非块使用量
df --total		#显示所有的信息
df -h			#产生可读的格式df命令的输出

1、tree 以树状图的形式查看目录结构

tree						#以树状图的形式查看目录结构。
tree -version				#查看tree版本
yum install tree			#安装tree工具的命令
tree -L 1 >/home/tree.txt	#将根目录下的1级目录导出到 /home下的tree.txt文件

1、last 显示用户最近登录信息

last 			   #一般显示方法
last -n 5 -R       #简略显示,并指定显示的个数
last -n 5 -a -i    #显示最后一列主机IP地址

1、ps 显示当前进程的状态

ps -A	   					#显示进程信息
ps -a	   					#查看所有系统与终端相关的进程
ps -e	   					#查看所有系统与终端相关的进程
ps -f	  					#显示UID,PPIP,C与STIME栏位
ps -ef	   					#查看系统所有进程(守护进程)
ps -u root	   			    #显示root进程用户信息
ps -ef |grep 进程名或者PID进程号	   #查看某一进程的情况

1、top 实时查看系统进程情况

top		   		#动态显示进程信息;
top -c	   		#显示完整命令;
top -b	   		#以批处理模式显示程序信息;
top -S	  	 	#以累积模式显示程序信息;
top -n 3	   	#更新3次后终止更新显示;
top -d 3	   	#每3秒刷新一次页面;
top -p 进程号	#显示指定的进程信息;
top -s		   	#使用者将不能利用交谈式指令来对行程下命令;

1、uname 显示系统信息

uname -a	   #显示系统全部信息
uname -m	   #显示计算机类型
uname -n	   #显示计算机名
uname -r	   #显示操作系统发行编号
uname -s	   #显示操作系统名称
uname -v	   #显示系统版本与时间

1、who 查看当前所有登录系统的用户信息

显示系统中有哪些使用者、使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等;
who			   #显示当前登录系统的用户
who -H		   #显示标题栏
who -l -H	   #显示用户登录来源
who -T -H	   #显示终端属性
who -m -H	   #只显示当前用户
who -q		   #精简模式显示

1、whoami 显示用户名

说明:显示当前的用户是root还是其他用户,本指令相当于执行"id -un"指令;
格式:whoami

1、passwd 更改使用者的密码

passwd -S 用户名		#显示用户密码信息
passwd -d 用户名	    #删除用户密码
userdel -r 用户名	#删除用户名以及用户文件
whoami				#显示当前的用户

修改用户的密码
passwd 用户1  			     #设置用户1的密码
Enter new UNIX password:     #输入新密码,输入的密码无回显
Retype new UNIX password:    #确认密码
passwd: password updated successfully	

创建用户名密码
useradd 用户名	   #新建一个用户
adduser 用户名	   #新建一个用户
passwd  密码	   	   #设置一个密码

注:使用adduser 命令增加用户账号时系统会自动在/home目录中为用户建立同名的用户主目录。
新建一个用户wang,密码设为123456
Useradd wang
Password 123456

1、su 切换用户,除 root 外,需要键入该使用者的密码

su -c ls root	   #切换帐号为root ,并在执行ls 指令后退出,变回原使用者;
su root -f		   #切换帐号为root ,并传入-f 参数给新执行的shell;
su - clsung		   #切换帐号为clsung 并改变工作目录至 clsung 的家目录(home dir);
su root			   #切换到root用户;
su -用户1		   #切换到用户1;若不指定此用户,则默认变更为root用户;

1、id 显示用户的ID,以及所属群组的ID

id			   #显示当前用户ID
id -g		   #显示用户群组的ID
id 用户1	   	   #显示指定用户1信息

1、netstat 显示网络状态

netstat -i	   #显示网卡列表
netstat -g	   #显示组播组的关系
netstat -s	   #显示网络统计信息
netstat -l	   #显示监听的套接口
netstat -a	   #显示详细的网络状况/端口号,以二进制的方式显示
netstat -n     #端口号使用数字的方式进行显示
netstat -p     #显示占用该端口号的进程号
netstat -nu	   #显示当前户籍UDP连接状况
netstat -apu   #显示UDP端口号的使用情况
netstat -anp   #显示系统所有的端口信息
netstat -anp |grep 端口号	   #显示系统某个端口号占用情况

1、rpm 管理套件

rmp -qa 包名		   					#查看系统上的包
rpm -ivh rpm格式的安装包(例:kr.rpm)	   	#安装软件
rpm -qi rpm格式的安装包(例:kr.rpm)		#显示软件安装信息
rpm -e rpm格式的安装包(例:kr.rpm)		#卸载软件
rpm -Uvh rpm格式的安装包(例:kr.rpm)	    #升级软件

1、chkconfig 检查\设置系统的各种服务

chkconfig -list 		   #列出chkconfig所知道的所有的服务的情况
chkconfig "服务应用" on 	   #启动开机自启
chkconfig "服务应用" off	   #关闭开机自启
chkconfig --list | more
chkconfig --list | grep mysql
chkconfig --list | grep vsftpd	

1、service 服务

chkconfig --list			   #列出所有的服务项
service "服务应用" start 	   #启动服务
service "服务应用" stop 	   	   #关闭服务
service "服务应用" restart      #重启服务

1、常用的服务应用

mysql		#Mysql数据库的服务
vsftpd		#vsFTP服务器的服务
iptables	#防火墙的服务
sshd		#ssh的服务
httpd		#http的服务

1、日志

/var/log
/var/log/dmesg     /核心启动日志
/var/log/messages  /系统报错日志
/var/log/maillog   /邮件系统日志
/var/log/xferlog   /FTP服务用日志
/var/log/secure    /安全信息,系统登陆与网络连接的信息
/var/log/wtwp      /登录记录

1、查看硬件信息

uname -a                  # 查看内核/操作系统/CPU信息
head -n 1 /etc/issue      # 查看操作系统版本
cat /proc/cpuinfo         # 查看CPU信息
hostname                  # 查看计算机名
lspci -tv                 # 列出所有PCI设备
lsusb -tv                 # 列出所有USB设备
lsmod                     # 列出加载的内核模块
env                       # 查看环境变量资源
free -m                   # 查看内存使用量和交换区使用量
df -h                     # 查看各分区使用情况
du -sh                    # 查看指定目录的大小
uptime                 	   # 查看系统运行时间、用户数、负载
cat /proc/loadavg      	   # 查看系统负载磁盘和分区
mount | column -t      	   # 查看挂接的分区状态
fdisk -l               	   # 查看所有分区
swapon -s              	   # 查看所有交换分区
hdparm -i /dev/hda     	   # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE       	   # 查看启动时IDE设备检测状况网络
ifconfig               	   # 查看所有网络接口的属性
iptables -L            	   # 查看防火墙设置
route -n               	   # 查看路由表
netstat -lntp          	   # 查看所有监听端口
netstat -antp          	   # 查看所有已经建立的连接
netstat -s             	   # 查看网络统计信息进程
ps -ef                	   # 查看所有进程
top                    	   # 实时显示进程状态用户
w                      	   # 查看活动用户
id                     	   # 查看指定用户信息
last                   	   # 查看用户登录日志
cut -d: -f1 /etc/passwd    # 查看系统所有用户
cut -d: -f1 /etc/group     # 查看系统所有组
crontab -l             	   # 查看当前用户的计划任务服务
chkconfig –list       	   # 列出所有系统服务
chkconfig –list | grep on  # 列出所有启动的系统服务程序
rpm -qa                	   # 查看所有安装的软件包
cat /proc/partitions 	   # 查看硬盘和分区
cat /proc/meminfo 		   # 查看内存信息
cat /proc/version 		   # 查看版本,类似uname -r
cat /proc/ioports 		   # 查看设备I/O端口
cat /proc/interrupts 	   # 查看中断
cat /proc/pci 			   # 查看pci设备的信息
cat /proc/swaps 		   # 查看所有swap分区的信息
tail -f /var/log/messages  # 查看最近发生的信息
grep MemTotal /proc/meminfo      # 查看内存总量
grep MemFree /proc/meminfo       # 查看空闲内存量

1、shell

bash	   #切换到bash
csh  	   #切换到 C shell
ksh		   #切换到k shell 
sh		   #最原始的shell
bsh		   #切换到bsh
filenum=`ls -l|wc -l`	   #统计文件个数
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢同学.

但行好事 莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值