Linux 常用命令(持续更新中)

2023-10-30  本文已影响0人  __Y_Q
  1. 当前路径
  2. 定位到用户主目录
  3. 主机名查看
  4. 重启
  5. 主机名设置
  6. 主机名与IP的映射
  7. 查看当前文件夹内文件信息, 可搭配过滤
  8. 文件权限/归属
  9. 权限及拥有者和所属组的修改
  10. 链接
  11. 文件内容追加
  12. 文件的拷贝/移动/重命名/删除
  13. 创建多级目录
  14. 用户与用户组操作
  15. 软件包的管理方式. rpm 和 yum
  16. 查看端口与进程
  17. 使用 scp 将文件/目录分发到其他主机
  18. 使用 rsync 进行远程同步
  19. grep过滤与管道符
  20. 追加和覆盖
  21. grep 结合正则表达式使用
  22. 统计有多少文件和目录
  23. 系统信息
  24. 防火墙设置
  25. 设置普通用户的 sudo 权限
  26. 压缩和解压缩
  27. 更换镜像源

1. 当前路径

pwd

2. 定位到用户主目录

cd ~

3. 主机名查看

hostname

4. 重启

reboot

5. 主机名设置

vim /etc/hostname (centOS 7, 需重启)

6. 主机名与IP的映射

vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.64.130(虚拟机IP) zyq.com(主机名)

7. 查看当前文件夹内文件信息, 可搭配过滤

ll  //列出来的结果详细,有时间,是否可读写等信息 ,像 windows 里的详细信息, ll 不是命令,是 ls -l 的别名, ls 命令可以说是linux下最常用的命令之一。
ls  //只列出文件名或目录名 就像 windows 里的列表
-t //降序,
-tac //升序
-a //列出目录下的所有文件,包括以 . 开头的隐含文件
-d 将目录象文件一样显示,而不是显示其下的文件
-e 输出时间的全部信息,而不是输出简略信息。

-f -U 对输出的文件不排序。

-g 无用。

-i 输出文件的 i 节点的索引信息。

-k 以 k 字节的形式表示文件的大小。

-l 列出文件的详细信息。

-m 横向输出文件名,并以“,”作分格符。

-n 用数字的 UID,GID 代替名称。

-o 显示文件的除组信息外的详细信息。

-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。

-q 用?代替不可输出的字符。

-r 对目录反向排序。

-s 在每个文件名后输出该文件的大小。

-t 以时间排序。

-u 以文件上次被访问的时间排序。

-x 按列输出,横向排序。

-A 显示除 “.”和“..”外的所有文件。

-B 不输出以 “~”结尾的备份文件。

-C 按列输出,纵向排序。

-G 输出文件的组的信息。

-L 列出链接文件名而不是链接到的文件。

-N 不限制文件长度。

-Q 把输出的文件名用双引号括起来。

-R 列出所有子目录下的文件。

-S 以文件大小排序。

-X 以文件的扩展名(最后一个 . 后的字符)排序。

-1 一行只输出一个文件。

–color=no 不显示彩色文件名

–help 在标准输出上显示帮助信息。

–version 在标准输出上输出版本信息并退出。

8. 文件权限/归属

drwxrwxr-x. 7 root root    
-rw-r--r--. 1 root root 

d 开头表示是目录, -开头表示是文件.
后面是文件权限

以上面为例, 每三位代表一个权限.

权限后面的数字意义

root root 表示文件/目录所属用户及用户组.

9. 权限及拥有者和所属组的修改

首先需要了解权限的数字表示法.

-rw-r--r--. 1 root root 

以这个为例, 将对应的权限按照数字表示法就为
rw-r--r-- = 644
解读:
当前所属用户权限有读和写就为 4+2.
当前所属组权限只有读, 就为 4.
其他人的权限也只有读, 就为 4.
这个权限表示, 除了 root这个用户可以读写外, 其他人和组都只有只读权限.

修改权限命令

chmod 666 filename, 或者 chomd r+x, chmod r+w, 可以以数字的形式, 也可以 rwx的形式

改变文件/目录的拥有者和所属组

10. 链接

软链接

硬链接


软连接命令格式:   ln  -s file/dir linkName 
例:             ln -s readme.txt   rm.txt   //rm.txt 为快捷方式的名字
硬链接命令格式:   ln file/dir linkName

修改符号连接的owner

$>chown -h centos:centos xxx //-h:针对连接本身,而不是所指文件.

修改符号链接

$>ln -sfT index.html index //覆盖原有的连接。

11. 文件内容追加

echo 追加内容 >> 要追加的文件名
例:  tail -f xxxx.log
    tail -200f yyy.log  查看末尾200行的信息 

12. 文件的拷贝/移动/重命名/删除

cp fileName path         //拷贝一个文件到一个目录中
cp fileName newFileName  //拷贝一个文件的内容至一个文件中(新文件)
cp -r dir newDir         //拷贝一个目录到另外一个目录去 -r 是递归拷贝
mv fileName path //移动(fileName与Path不在同一目录下就是移动)
mv fileName path //重命名(当fileName 与path同一个目录下的时候就是重命名)
rm -rf fileName     //递归强制删除, file 最好是绝对路径,  -r 递归 ,-f 强制

13. 创建多级目录

mkdir -p path    //-p 有就执行,没有就创建

14. 用户与用户组操作

查看所有用户与用户组 ID

cat /etc/password

查看用户组根据用户名

id username

将x用户添加到yy组

usermod -a -G yy x

创建普通用户

useradd zhangsan  //创建一个用户
passwd  刚才创建的用户名 //添加密码 这种模式会默认创建group组

创建用户组

groupadd zhangsan

切换用户

//带  - 的是完全切换用户以及环境变量,
//不带 - 的仅仅只是切换用户
//一般建议使用 su - 用户名的方式切换
su - zhangsan 或者  su  zhangsan  

删除用户

userdel -r zhangsan   // -r 表示删除用户的时候删除该用户的主目录

切换到管理员用户

su 或者 sudo -s

15. 软件包的管理方式. rpm 和 yum

有两种方式 rpmyum
RPM, 依赖比较严重, 必须一一安装所依赖的包.
RPM 常用的命令

rpm -qa q表示查询,a表示所有
//相关参数
-》 表示查询套件的相关信息
-i 表示显示套件的相关信息
-v 表示显示指令执行过程
-h 表示套件安装时列出标记
rpm -qa | grep 软件名
选项 --nodeps: 不检测依赖性,一般建议在试验环境使用
rpm -e --nodeps xxxxxx
rpm -e httpd-manual-2.2.15-26.e16.centos.noarch.rpm //错误,需要去掉后缀名
rpm -e httpd-manual-2.2.15-26.e16.centos.noarch //正确
rpm -ivh xxx.rpm
rpm -ivh httpd-manual-2.2.15-26.e16.centos.noarch.rpm

yum
yum 会自动安装所依赖的包.
常用命令

#查询已经安装好的包
yum list
#查询指定安装的包
yum list | grep 'httpd'
yum list installed | grep ssh
#选项 -y :安装过程中无须确认,直接安装依赖包
yum -y install httpd-devel.x86_64
yum -y remove httpd-devel.86_64

16. 查看端口与进程

netstat -an | grep 端口号

netstat -lntp

ps -Af | grep 进程名

ps -ef | grep nginx

#也可以使用防火墙的命令来查询指定端口是否开放
firewall-cmd --query-port=要查询的端口/tcp

17. 使用 scp 将文件/目录分发到其他主机

scp -r ./hadoop-2.7.3/ yzhang@zyq03.com:/opt/app
#复制哪个目录,到哪台主机的哪个目录下

18. 使用 rsync 进行远程同步

使用 rsync远程同步,可以处理符号链接问题, scp 处理不了符号链接, 同时速度也更快.

rsync -lr dirOrfile yzhang@zyq01.com:/path
#-l copy符号链接过去后仍为符号链接
#-r 递归

19. grep过滤与管道符

grep 过滤

-c   只输出匹配行的计数
-i    查询多文件时不显示文件名
-l    查询多文件时只输出包含匹配字符的文件名
-n   显示匹配行及行号
-s   不显示不存在或无匹配文本的错误信息
-v   显示不包含匹配文本的所有行
-B   before 前
-A   after 后
--color    搜索出来的关键字变色
例1:
grep -i --color '关键字' 文件名 
#搜索关键词的前五行和后五行
grep --color '关键字' 文件名 -B5 -a -A5
例2: 过滤出当前目录下带有 `t` 关键字的信息并变色.
ll |  grep --color 't'

管道符, 用竖线表示 |, 表示将前一个命令的输出结果传递给后面的命令处理,两边都是命令.

例 cat /etc/passwd | more

筛选过滤

例 cat /etc/passwd | grep 'root'
例 head -5 文件名 | grep 关键字 #搜索前五行中 包含关键字的行

过滤条件

例 ls /dev | grep 'odrom '

20. 追加和覆盖

追加 >> 以追加的方式将命令正确的结果输出到文件或设备中

#从student 中读取包含zhangsan 的行,追加到name.txt 中,name.txt 存在则直接追加,不存在则先创建文件再进行追加
grep 'zhangsan' student >> name.txt

覆盖符号为>

21. grep 结合正则表达式使用

#找出包含一个数字的信息 
grep '[0-9]' /etc/xxxx        
#找出包含三个数字的信息 
grep '[0-9][0-9][0-9]' /etc/xxx        
#找出包含三个数字后面以:7结尾的信息
grep '[0-9][0-9][0-9]:7' /etc/xxx        
#搜索以txt 结尾的文件
ls | grep .txt$
#搜搜以r开始,以n结尾,中间为任意字符  .*联合起来使用表示 任意字符
grep '^r.*n$' /etc/xxx                

22. 统计有多少文件和目录

ll | wc -l

23. 系统信息

uname #系统类型
uname -r #内核版本
cat /proc/cpuinfo #CPU信息
cat /proc/meminfo #内存信息
date #系统日期
date -R #系统时区
cal 2023 #日历表
date -s 2023-10-31 #设置系统时间(需要root)
date -s 15:45:25
df -lh #查看磁盘信息(需要root)
fdisk -l #查看磁盘信息(需要root)
mount #查看磁盘挂载信息(需要root)
mount 把什么挂载到什么地方 #挂载磁盘(需要root)
umount /xxx/sdb1 #卸载磁盘(需要root)
du -sh /home/xxx/ #查看某个目录的大小
du -h /home/xxx/
fsck /dev/xxx #修复磁盘
free -m #看系统内存的使用情况
top #各个进程内存的使用情况
top 按下 M 显示详细

24. 防火墙设置及开放端口

CentOS7中防火墙改变为 firewalld

firewall-cmd --state
systemctl stop firewalld.service
systemctl start firewalld.service 
firewall-cmd --reloadl
systemctl disable firewalld.service 
firewall-cmd --zone=public --add-port=要开放的端口/tcp --permanent
firewall-cmd --zone=public --remove-port=要关闭的端口/tcp --permanent
firewall-cmd --query-port=要查询的端口/tcp

25. 设置普通用户的 sudo 权限

切换到root账户。
执行 vi /etc/sudoers 或者 visudo
在最上面插入

账户名 ALL=(root)NOPASSWD:ALL
yzhang ALL=(ALL) NOPASSWD: ALL

26. 压缩和解压缩

解压

-C 意思是重定向. 这个选项用在解压缩,若要在特定的目录解压缩,可以使用这个选项
压缩

27. 更换镜像源

选择一个好的镜像源加快Centos7系统的更新升级或者安装软件的速度

[yzhang@zyq01 ~]$ sudo yum list
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
上一篇下一篇

猜你喜欢

热点阅读