2021-11-07
Linux常用命令 - 不古出品
- 9.1 查看当前目录:pwd
- 9.2 查看进程:ps -ef
- 9.3 结束进程:kill
- 9.4 网络通信命令:
- 9.5 配置网络
- 9.6 重启网络
- 9.7 切换用户
- 9.8 关闭防火墙
- 9.9 修改文件权限
- 9.10 清屏
- 9.11 vi模式下快捷键
一、常用命令
1.1 帮助命令
–help命令
ls –help:查看
shutdown –help:查看shutdown命令相关参数
ifconfig –help:查看网卡信息
–man命令(命令说明书)
man shutdown
注意:man shutdown打开命令说明书之后,使用按键q退出
1.2 关机、重启和注销
–关机
shutdown -h now 立刻关机
shutdown -h 5 5分钟后关机
poweroff 立刻关机
–重启
shutdown -r now 立刻重启
shutdown -r 5 5分钟后重启
reboot 立刻重启
–注销
logout 退出当前登录用户
exit 退出当前登录用户
ctrl+d 退出当前登录用户
1.3切换用户 su
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test:切换到test用户,但是路径还是/root目录
su - test : 切换到test用户,路径变成了/home/test
su : 切换到root用户,但是路径还是原来的路径
su - : 切换到root用户,并且路径是/root
su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
退出返回之前的用户:exit
二、目录相关命令
2.1基本命令
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 删除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
2.2目录查看
命令:ls [-al]
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr
2.3目录切换
命令:cd 目录
cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd …/ 切换到上一级目录 或者 cd …
cd ~ 切换到home目录
cd - 切换到上次访问的目录
2.4目录操作【增删改查】
2.4.1创建目录-增
命令:mkdir 目录
mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
2.4.1删除目录-删
命令:rm [-rf] 目录
删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)
删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
2.4.1修改目录-改
1、重命名目录
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作
2、剪切目录
命令:mv 目录名称 目录的新位置
示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
3、拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
2.4.1查找目录-查
命令:find 目录 参数 文件名称
示例:find /usr/tmp -name ‘a*’ 查找/usr/tmp目录下的所有以a开头的目录或文件
三、文件相关命令
3.1 文件操作【增删改查】
3.1.1新建文件-增
命令:touch 文件名
示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt
3.1.2删除文件-删 rm
命令:rm -rf 文件名
3.1.3修改文件-改 vi或vim
3.1.2.1 vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示:
3.1.2.2相关命令
打开文件
命令:vi 文件名
示例:打开当前目录下的aa.txt文件 vi aa.txt 或者 vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
保存或者取消编辑
保存文件:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:wq 保存并退出编辑
取消编辑:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑
3.1.4 文件的查看-查 cat\more\less\tail
文件的查看命令:cat/more/less/tail
cat:看最后一屏
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf
more:百分比显示
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
less:翻页查看
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less sudo.conf
tail:指定行数或者动态查看
示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
tail -10 sudo.conf
3.2 权限修改
chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
chmod功能:变更文件或目录的权限
语法:chmod [参数][<权限范围><符号><权限代号>]
– 有关权限代号的部分
r:读取权限,数字代号为“4”
w:写入权限,数字代号为“2”
x:执行或切换权限,数字代号为“1”
不具任何权限,数字代号为“0”
例:
添加权限
chmod u+rwx xxx 添加xxx文件的用户“读写执行”权限
取消权限
chmod u-7 xxx 取消xxx文件的用户“读写执行”权限
四、压缩和解压缩
4.1 方式一:gzip/gunzip
gzip用于压缩文件,gunzip用于解压文件
gzip 文件名 压缩文件为*.gz
gunzip 文件.gz 解压文件
4.2 方式二:zip/unzip
zip用于压缩文件,unzip用于解压文件
zip 文件名 压缩文件为*.zip
unzip 文件.zip 解压文件
4.3 方式三:tar
压缩
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar *
解压
命令:tar [-zxvf] 压缩文件
其中:x:代表解压
示例:将/usr/tmp 下的ab.tar解压到当前目录下
五、查找命令
5.1 grep
grep命令是一种强大的文本搜索工具
使用实例:
ps -ef | grep sshd 查找指定ssh服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身
ps -ef | grep sshd -c 查找指定进程个数
5.1 find
find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。
find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
使用实例:
find . -name “*.log” -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 600 查找/root/目录下权限为600的文件
find . -type f -name “*.log” 查找当目录,以.log结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件
5.3 locate
locate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory该错误!updatedb即可!
yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令
使用实例:
updatedb 更新系统中文件目录数据库
locate /etc/sh 搜索etc目录下所有以sh开头的文件
locate pwd 查找和pwd相关的所有文件
5.4 which
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
使用实例:
which pwd 查找pwd命令所在路径
which java 查找path中java的路径
六、系统服务
service iptables status –查看iptables服务的状态
service iptables start –开启iptables服务
service iptables stop –停止iptables服务
service iptables restart –重启iptables服务
chkconfig iptables off –关闭iptables服务的开机自启动
chkconfig iptables on –开启iptables服务的开机自启动
七、网络管理
网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看 linux 服务器 ip 地址,管理服务器网络配置,通过 telnet 和 ethernet 建立与 linux 之间的网络链接,查看 linux 的服务器信息等。下面让我们看看在 Linux 下的网络和监控命令的使用。
7.1 主机名配置
hostname
hostname 没有选项,显示主机名字
hostname –d 显示机器所属域名
hostname –f 显示完整的主机名和域名
hostname –i 显示当前机器的 ip 地址
7.2 ping
ping 将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包。ping 主要有两个作用:
用来确认网络连接是畅通的。
用来查看连接的速度信息。
如果你 ping zhangge.net 它将返回它的 ip 地址 。你可以通过 ctrl+C 来停止命令。
7.3 ifconfig
查看用户网络配置。它显示当前网络设备配置。对于需要接收或者发送数据错误查找,这个工具极为好用。
7.4 nslookup
nslookup 这个命令在 有 ip 地址时,可以用这个命令来显示主机名,可以找到给定域名的所有 ip 地址。而你必须连接到互联网才能使用这个命令。
例子. nslookup marsge.cn
你也可以使用 nslookup 从 ip 获得主机名或从主机名获得 ip。
7.5 telnet
通过 telnet 协议连接目标主机,如果 telnet 连接可以在任一端口上完成即代表着两台主机间的连接良好。
telnet hostname port – 使用指定的端口 telnet 主机名。这通常用来测试主机是否在线或者网络是否正常。
7.6 netstat
发现主机连接最有用最通用的 Linux 命令。你可以使用”netstat -g”查询该主机订阅的所有多播组(网络)
netstat -nap | grep port 将会显示使用该端口的应用程序的进程 id
netstat -a or netstat –all 将会显示包括 TCP 和 UDP 的所有连接
netstat –tcp or netstat –t 将会显示 TCP 连接
netstat –udp or netstat –u 将会显示 UDP 连接
netstat -g 将会显示该主机订阅的所有多播网络。
八、定时任务
crontab是Unix和Linux用于设置定时任务的指令。通过crontab命令,可以在固定间隔时间,执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。
crontab安装:
yum install crontabs
服务操作说明:
service crond start ## 启动服务
service crond stop ## 关闭服务
service crond restart ## 重启服务
8.1 crontab命令
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
参数说明:
-u user:用来设定某个用户的crontab服务
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
命令示例:
crontab file [-u user] ## 用指定的文件替代目前的crontab
crontab -l [-u user] ## 列出用户目前的crontab
crontab -e [-u user] ## 编辑用户目前的crontab
8.2 配置说明、实例
命令:* * * * * command
解释:分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
配置实例:
先打开定时任务所在的文件:
crontab -e
每分钟执行一次date命令
*/1 * * * * date >> /root/date.txt
每晚的21:30重启apache。
30 21 * * * service httpd restart
每月1、10、22日的4 : 45重启apache。
45 4 1,10,22 * * service httpd restart
每周六、周日的1 : 10重启apache。
10 1 * * 6,0 service httpd restart
每天18 : 00至23 : 00之间每隔30分钟重启apache。
0,30 18-23 * * * service httpd restart
晚上11点到早上7点之间,每隔一小时重启apache
23-7/1 * * * service httpd restart
九、其他命令
9.1 查看当前目录:pwd
命令:pwd 查看当前目录路径
9.2 查看进程:ps -ef
命令:ps -ef 查看所有正在运行的进程
9.3 结束进程:kill
命令:kill pid 或者 kill -9 pid(强制杀死进程) pid:进程号
9.4 网络通信命令:
ifconfig:查看网卡信息
命令:ifconfig 或 ifconfig | more
ping:查看与某台机器的连接情况
命令:ping ip
netstat -an:查看当前系统端口
命令:netstat -an
搜索指定端口
命令:netstat -an | grep 8080
9.5 配置网络
命令:setup
9.6 重启网络
命令:service network restart
9.7 切换用户
命令:su - 用户名
9.8 关闭防火墙
命令:chkconfig iptables off
或者:
iptables -L;
iptables -F;
service iptables stop
9.9 修改文件权限
命令:chmod 777
9.10 清屏
命令:ctrl + l
9.11 vi模式下快捷键
esc后:
保存并退出快捷键:shift+z+z
光标跳到最后一行快捷键:shift+g
删除一行:dd
复制一行内容:y+y
粘贴复制的内容:p
关注微信公众号【不古】,回复linux,领取linux教程
本文转载自: 掘金