Linux基本操作

146 阅读5分钟

一、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操作文本

下面介绍几种向文本文件写入替换文字的方法:

  1. echo
#a.txt没有则新建,有则替换原有的,追加用>>
echo "需要写入的内容" >/etc/a.txt
  1. 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
  1. tee:(追加:tee -a,也可以用cat的>写法)
#类似cat用法
tee /etc/docker/daemon.json <<eof
新增的内容
可以写多行
以eof结尾
eof

#另外用法:
使用指令"tee"将用户输入的数据同时保存到文件"file1""file2"中,输入如下命令:
tee file1 file2 <<eof
test
托尔斯泰
可以在两个文件中同时写入
eof
  1. 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权限

  1. 进入超级用户模式。也就是输入sudo su,系统会让你输入超级用户密码,输入密码后就进入了超级用户模式,切换用户:sudo xxx。
  2. 编辑/etc/sudoers文件。也就是输入命令vim /etc/sudoers,进入编辑模式,找到这一 行:root ALL=(ALL) ALL在起下面添加xxx ALL=(ALL) ALL(这里的xxx是你的用户名),然后保存退出。

五、给文件授权

sudo chmod -R 777 文件夹 给所有用户授权操作此文件夹
-R 递归其下所有文件夹都是777权限

  1. linux系统中文件permissions代表的意思: 权限 | 文件 | 目录 | | --| ------ | ------ | | r | 读取文件内容 | 查询目录内容 | | w | 编辑文件内容 | 修改目录内容 | | x | 执行文件 | 进入目录|

    image.png

  2. 举例说明,drw-r--r-x,此为一个文件夹,每类用户的操作权限如下 : d | rw- | r-- | r-x | |--| ------ | ------ |----- | | 文件夹 | 6 | 4 | 5 | | (-:代表文件) | user | group | others | | | 文件所有者 | 所在组 |其他用户|

    -----x-w--wxr--r-xrw-rwx
    0(无权限)1(执行权)2(只写)34(只读)567

六、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