一、linux基础指令
cat /etc/issue 查看发行版本
uname -a uname -r 查看核心版本
uname -m 查看操作系统的位版本
lsb_release -a 查看系统版本
date 查看系统时间
lsblk 查磁盘大小
cat /proc/cpuinfo | grep "processor" | wc -l cpu core 个数
cat /proc/meminfo | grep MemTotal 内存Mem
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
rm -rf 文件夹 删除非空文件夹
-r 递归删除,可删除子目录及文件
-f 强制删除
cd .. 返回上一层目录 find 在文件系统中搜索某文件 类似tree
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录 -p 递归删除 -v显示过程
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏 ctr+L(还可以往上翻记录)
esc+. 获取上一条命令的最后部分
二、linux操作文本
下面介绍几种向文本文件写入替换文字的方法:
- echo
#a.txt没有则新建,有则替换原有的,追加用>>
echo "需要写入的内容" >/etc/a.txt
- cat:(追加即将>改成>>)
#第一种:
cat << EOF > /root/test.txt
Hello!
My site is www
Test for cat and EOF!
EOF
#第二种:
cat > /root/test.txt <<EOF
Hello!
My site is www
Test for cat and EOF!
EOF
- tee:(追加:tee -a,也可以用cat的>写法)
#类似cat用法
tee /etc/docker/daemon.json <<eof
新增的内容
可以写多行
以eof结尾
eof
#另外用法:
使用指令"tee"将用户输入的数据同时保存到文件"file1"和"file2"中,输入如下命令:
tee file1 file2 <<eof
test
托尔斯泰
可以在两个文件中同时写入
eof
- sed:替换新增删除
# 对每行匹配到的第一个字符串进行替换
sed -i 's/原字符串/新字符串/' ab.txt
# 对全局匹配上的所有字符串进行替换
sed -i 's/原字符串/新字符串/g' ab.txt
# 删除所有匹配到字符串的行
sed -i '/匹配字符串/d' ab.txt
# 特定字符串的行后插入新行
sed -i '/特定字符串/a 新行字符串' ab.txt
# 特定字符串的行前插入新行
sed -i '/特定字符串/i 新行字符串' ab.txt
# 把匹配行中的某个字符串替换为目标字符串
sed -i '/匹配字符串/s/源字符串/目标字符串/g' ab.txt
# 在文件ab.txt中的末行之后,添加bye
sed -i '$a bye' ab.txt
# 对于文件第3行,把匹配上的所有字符串进行替换
sed -i '3s/原字符串/新字符串/g' ab.txt
三、Linux快捷键
ctrl+w 剪切mouse以前的一个单词
ctrl+u 剪切全部
ctrl+k 删除mouse之后的一个单词
ctrl+y 粘贴(等于鼠标右击)
ctrl+a 移动mouse到最前面
ctrl+e 移动到最后面
ctrl+b 往前移动 ctrl+f 往后移动
ctrl+r 搜索历史指令 ctrl+d 退出xshell
ctrl+s 锁屏 ctrl+q 解锁
四、 给用户添加sudo权限
- 进入超级用户模式。也就是输入
sudo su,系统会让你输入超级用户密码,输入密码后就进入了超级用户模式,切换用户:sudo xxx。 - 编辑/etc/sudoers文件。也就是输入命令
vim /etc/sudoers,进入编辑模式,找到这一 行:root ALL=(ALL) ALL在起下面添加xxx ALL=(ALL) ALL(这里的xxx是你的用户名),然后保存退出。
五、给文件授权
sudo chmod -R 777 文件夹 给所有用户授权操作此文件夹
-R 递归其下所有文件夹都是777权限
-
linux系统中文件permissions代表的意思: 权限 | 文件 | 目录 | | --| ------ | ------ | | r | 读取文件内容 | 查询目录内容 | | w | 编辑文件内容 | 修改目录内容 | | x | 执行文件 | 进入目录|
-
举例说明,drw-r--r-x,此为一个文件夹,每类用户的操作权限如下 : d | rw- | r-- | r-x | |--| ------ | ------ |----- | | 文件夹 | 6 | 4 | 5 | | (-:代表文件) | user | group | others | | | 文件所有者 | 所在组 |其他用户|
--- --x -w- -wx r-- r-x rw- rwx 0(无权限) 1(执行权) 2(只写) 3 4(只读) 5 6 7
六、linux防火墙查看状态
A、iptables防火墙
1、基本操作
# 查看防火墙状态
service iptables status
# 停止防火墙
service iptables stop
# 启动防火墙
service iptables start
# 重启防火墙
service iptables restart
# 永久关闭防火墙
chkconfig iptables off
# 永久关闭后重启
chkconfig iptables on
2、开启80端口
vim /etc/sysconfig/iptables # 加入如下代码 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 保存退出后重启防火墙
service iptables restart
B、firewall防火墙
开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
- 查看防火墙某个端口是否开放 firewall-cmd --query-port=80/tcp
- 开放防火墙端口80 firewall-cmd --zone=public --add-port=80/tcp --permanent
- 关闭80端口
- firewall-cmd --zone=public --remove-port=80/tcp --permanent
- 配置立即生效
- firewall-cmd --reload
- 查看防火墙状态 systemctl status firewalld
- 关闭防火墙 systemctl stop firewalld
- 打开防火墙 systemctl start firewalld
- 开放一段端口 firewall-cmd --zone=public --add-port=8121-8124/tcp --permanent
- 查看开放的端口列表 firewall-cmd --zone=public --list-ports