一、常用命令清单
man help
cd pwd ls tree mkdir mv rm alias unalias
vi vim touch tail head
1、Linux bash命令行
bash命令行解释器或者翻译官,命令行输入命令都是由bash解释执行的.
命令行提示符
[root@lh ~]#
[root :命令行提示符@前面的字符代表当前登录的用户(可用whoami查询),
[root@lh ~]# whoami
root
@分隔符
lh,@后面的为主机名(可用hostname查询),
[root@lh ~]# hostname
lh
~ 所在的位置是窗口当前用户所在的路径(可用pwd查询)。
[root@lh ~]# pwd
/root
]# 提示符,等着输入命令,管理员的提示符是#,root用户提示符,root皇帝。
[root@lh ~]# su - lh #切换到lh用户
[lh@lh ~]$ whoami $是普通用户的提示符。一般大臣,布衣。
lh
二、常用命令
linux区分大小写
1、网卡相关配置
systemctl restart network或者
service network restart #重启所有网卡
centos默认网卡是ens33
ens33改成eth0(内核参数 net.ifnames=0 biosdevname=0),
ifup eth1 #只启动网卡1(eth1)
ifdown eth1 #只关闭网卡1
查看IP
ip a
ifconfig ##==>(yum install net-tools -y)
ifconfig eth0
2、ls
ls 查看当前目录
ls -a 查看文文件隐藏内容
ls -lrt按时间倒序查
ls -l查看文件属性
3、cat
cat 查看当前文件内容
cat -n查看文件有多少行
cat > a.txt
cat >> a.txt
其实用的也是 >(写入) 和 >>(追加写入) ,但是有一点不一样的是,敲完上述命令会进入 a.txt的编辑模式,可以直接输入你想要写入的内容,最后按ctrl+z退出编辑模式自动保存
4、head和tail
head -数字 文件名(查看文件前多少行,默认是十行)
tail -数字 文件名(查看文件名后多少行,默认是十行)
tail -f实时查看文件最后内容
5、cd和pwd
cd ~切换到用户家目录
cd ..切换到上一级目录
cd ../..切换到上一级的上一级目录
pwd 显示当前路径
6、useradd
useradd yonghu 添加用户
id yonghu查看用户是否添加成功
useradd yonghu -s /sbin/nologin -M创建没有家目录且不能登陆的用户
su - yonghu 切换到普通用户
userdel -r zs删除zs用户(-r表示连同家目录一起删除)
usermod 修改用户
7、whoami和hostname
whoami查询当前登陆用户
hostname查询当前主机
8、mkdir和touch
mkdir 文件夹名 (创建文件夹)
mkdir {1..10}或者mkdir a1 a2 a3(创建文件夹)
mkdir -p a1/a2/a3(创建递归的文件夹)
touch 文件名(创建文件)
9、rm -rf
rm -rf 文件夹名(强制删除文件夹)
10、echo
echo (打印输出内容)
echo haha >a.txt(将结果写入文件)
11、netstat-atulnp
netstat -atulnp查看开放的端口
12、tree
13、mv和cp
mv 源文件 目录(移动文件或改名)
cp 源文件 目录(复制文件)
14、alias net=
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'设置别名
下次打开只需要输入net即可查看网卡信息
unalias net 取消别名
15、ps
ps -ef | grep ssh查看某个服务是否在运行
ps -aux
16、curl
相当于模拟浏览器用户登陆
curl http://www.baidu.com
17、帮助命令
man 命令 或 命令 --help(查看帮助)
快捷键(提高效率):
tab 自动补全功能*****
不管多长的命令,先输入2个字母,然后连续2下tab键,不断循环。
补全路径
作用:
1.提前确认输入对错(tab没反应就有问题).
2.提高输入效率,不用记完整命令.
三、vim下的命令
安装vim命令: yum install vim-enhanced -y
1、vim编辑模式下的命令
i在当前光标出插入
o换下一行插入 O换上一行插入
2yy复制两行 p粘贴
2、非编辑模式下
shift+g快速定位到最后一行 shift+g+1或者gg快速定位到第一行
end行尾 home行首
:w保存q退出!强制 shift+zz保存退出
u撤销
/+关键字快速定位 n定位到下一个关键字
dd删除光标所在行 2dd删除两行
x删除文字后面的字 X删除光标前面的字
:set nu显示行号
:set nonu取消行号
/ 内容 (初始向下搜索,n向下搜,N向上搜)
3、替换
如果替换的内容中有/可以换成#或@(/ # @都是分隔符)
:%s#nologin#login#g(全局替换)-
21,24s#nologin#login#g(局部21,24替换)
四、时间
1、date
date -s(修改时间)
修改后的时间首先要改成所在的年份
再使用ntpdate ntp1.aliyun.com才能正确同步时间
2、yum provides 软件(查看软件来自哪个安转包)
五、压缩打包解压缩(一切皆文件)
1、zcvf压缩创建显示文件
格式:tar zcvf 路径/包名 被压缩文件路径
z 压缩
c创建
v显示
f针对文件
2、tf查看压缩内容
3、xf解压缩
4、压缩包格式
.tar.gz .tz .7z .zip .rar
5、$(date +%F)
tar zcvf /lx/$(date +%F).tar.gz /lx(以日期作为包名,通常用作备份)
六、查找
1、查二进制文件(which和where -b)
二进制文件从以下文件夹去找
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
如果要找的文件不在这些文件夹里,需要把要文件添加到这些文件夹里
方法一
which 文件名
2、普通文件查找(find)
格式:find 要查找的路径 选项1 选项2
2.1、按名字查找
find / -name a1 (在根下查找文件名叫a1的文件)
2.2、按类型查找
-type d(目录)f(文件)b(磁盘)c(字符设备)l(软连接文件,快捷方式)s(socket和应用程序之间通信有关)
find / -type d -name a1(查找目录而且名为a1)
find / -type d -or -name a1(查找要么为目录要么文件名为a1的文件)
2.3、取反(!)
find / ! -type d -name a1(查找不是目录且名为a1)
2.4、按修改时间查找
(测试:复制即可。模拟每天创建一个文件,连续30天
mkdir /data -p for n in {01..30};do date -s "2021/08/$n";touch /data/file$n;done)
-mtime -7(7天内) =7(第7天)+7(7天前)
find / -mtime -7 -name lx(查找7天内修改过且名字为lx的文件或文件夹)
2.5、find 和 -exec一起用
find / -name lx -exec ls l {} ;(把find查到的内容存到{}然后执行ls -l查看属性)
等价与ls -l /lx
2.6、高效的查找删除find + xargs
find / -name a1 | xargs rm -rf(找到文件后删除)
提高门槛删东西:
-i 可以让后面的{}接收搜索到的内容。
find /data -name "file" -mtime +7|xargs rm -f #简写
find /data -name "file" -mtime -7|xargs -i rm -f {} #完整写法
原理:
rm -f file01 file02 ...file30 ##一条命令
效率更高
[root@lh ~]# find /data -name "file*" -mtime -7|xargs rm -f
[root@lh ~]# ls /data
file23
find /etc -name hosts | xargs cp -t /lx(找到文件后复制到指定路径下,find找到的文件放在lx 后面)
cp 源 目标(默认是从源复制到目标路径)
cp -t 目标 源(-t作用是把目标和源的位置换一下)
七、less浏览文件
空格浏览一页,enter键浏览下一行
八、grep
grep后接内容,内容后接所在文件的路径
-v对原来过滤的内容取反
-n显示行号
-i 过滤内容不区分大小写
重定向,把过滤的内容放到文件里,(文件之前的内容会被清空,所以对已有的文件要备份)
追加 把过滤的内容追加到文件里(文件之前的内容不会被清空)
九、查看网关路由
1、ip route
[root@lh ~]# ip route
default via 10.0.0.2 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.7 metric 100
2、route -n
查看上网的出口地址.
[root@lh ~]# route -n ##==>(yum install net-tools -y)
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
3、cat /etc/resolv.conf
[root@lh ~]# cat /etc/resolv.conf 查看DNS
nameserver 223.5.5.5 ##配置网卡的时候配置的
修改网卡配置文件:nmtui背后就是改这个ifcfg-eth0.