Linux常用基础知识汇总

一、常用命令

1. 文件显示命令

1.1 cat命令

cat file1 > file2    # file2的内容将被file1覆盖
cat file1 >> file2   # file1的内容将追加到file2的末尾
cat file1            #显示文件内容
cat file1 -n         #显示行号

1.2 more 命令

# 重点分页
more filename        #显示文件内容
more -10 filename    # 每页显示10行
more +50 filename    # 从第50行开始显示

1.3 head命令

# 输出文件前几行(默认前10行)
head filename         #显示文件前10行
head -n 20 filename   #显示文件的前 20 行

2. 文件内容查询命令

2.1 grep命令

grep abc filename               # 普通查找,寻找所有 包含 abc 的行
grep abc filename1 filename2    # 在多个文件中进行查找
grep -l abc filename1 filename2 # 列出包含指定字符串的文件的 文件名 (只有文件名)
grep -n abc filename  			# 查找指定字符串并且显示匹配行的行号
grep -n abc filename1 filename2 # 多个文件 显示行号
grep -v "A" filename1 			# 显示不匹配的行 (没有 A 的行)
grep -v$ filename1 				# 显示空白行
grep ^root filename 			# 显示匹配指定行首的行 (以root开头的行)
grep abc$ filename 				# 显示文件中所有以 abc 结尾的行

3. 文件和目录基本操作

3.1 Tab自动补全命令

3.2 man 命令查看帮助信息

4. 文件复制、移动、删除

4.1 cp 命令

cp file /dir              # 直接复制 文件 到 一个目录下去
cp file /dir/newfilename  # 复制一个文件到一个目录下面并且改名
cp file1 file2 /dir       # 复制多个文件 到 一个目录下
cp -r /dir /dir2          # 复制 目录

4.2 mv 命令

# 这两个的区别在于 第二个是文件还是目录
mv file1 file2   # 重命名
mv file1 /fir    # 移动文件到一个目录下

4.3 mkdir命令

mkdir dirName   	     # 当前目录下创建新目录
mkdir /temp/dirName      # 指定绝对路径创建新目录
mkdir -p dir1/dir2/dir3  # 创建多级目录 

4.4 rmdir命令

只能删除空目录

4.5 rm命令

rm file        # 删除文件
rm -f file     # 强制删除文件
rm -r dir      # 删除目录及其子目录
rm -rf dir     # 强制删除目录及其子目录

5. 链接

5.1 硬链接与软链接(符号链接)

  • 硬链接相当于源文件可以同步更新的备份,符合链接相当于快捷方式
  • 硬链接不能跨文件系统,不能链接目录
  • 删除源文件,硬链接不会有影响,符号链接变无效

5.2 创建方式

只能对文件进行创建,不能对目录进行创建

ln source linkfile    # 硬链接  第一个是资源,第二个是 链接
ln -s source linkfile # 软链接

6. 文件查找命令

6.1 find命令

格式要注意先写查找范围

再写查找类型(文件名、文件类型、权限、所有者、所属组、时间、大小等)

最后是查找文件对象(可使用同通配符)

find /root -name *.sh

6.2 locate命令

注意和 updatedb 命令使用

7. 文件访问权限

rwx 三种权限对于普通文件和目录表现不同

			普通文件   		目录

​ r 读取内容 ls

​ w 编辑内容 touch mv rm

​ x bash cd , pwd (该权限是进入到目录中)

(1) ls -l(ll)命令显示结果字符串,ls -a 显示全部文件

(2)chmod命令

​ r 是4 , w是2 , x是1
​ u是所有者,g是所属组,r是其他人 , a是所有人

  • 数字法:chmod 755 file
  • 加减法:chmod u+w,g+x,o+x file chmod a+x file
  • 等号法:chmod u=rw,g=rw,o=r file
  • 设置目录权限:chmod -R 777 dir

(3)umask命令:设置文件和目录的默认权限

root用户的默认umask值是 022 ; 普通用户默认的umask值 002

目录默认权限是 777 , 文件默认权限是 666

存在umask的时候,创建新目录/文件的时候,需要 默认值 - umask值

(4)chown命令:改变文件所有者 chown user file (将file文件的所有者 改为 user)

(5)chgrp命令:改变文件所属组 chgrp newgroup file

(6)newgrp命令:改变用户的有效组

8. 压缩和解压缩

(1) compress zip gzip bzip2 都是压缩命令

(2)tar:可以在打包的同时进行压缩,常用用法:

tar -jcvf filename dir(etc.tar.bz2)#将目录 dir 打包成一个使用 bzip2 压缩算法压缩的归档文件 etc.tar.bz2,并显示详细信息
tar -zcvf filename dir  # 使用 gzip 算法 压缩
tar -jxvf  filename   # 解压缩

二、文件管理

1. 文件类型及区别

文件类型ls -l或 ll命令输出的第一个字符
普通文件-
目录文件d
字符设备文件c
块设备文件b
链接文件l
管道文件p
套接字文件s

2. 常用系统目录

  • / :根目录
  • /boot : 启动相关文件
  • /mnt:挂载目录
  • /root :root用户家目录
  • /home :普通用户家目录,如/home/user1
  • /dev :设备文件目录
  • /etc :配置文件目录

3. 文件基础知识

  • 大小写:敏感
  • 文件类型的含义
  • 设备文件名
  • 可执行文件的含义

三、用户与用户组

1. 配置文件

  • /etc/passwd :用户基本信息,名字等
  • /etc/shadow :用户密码信息,密码有效期登
  • /etc/group :组的基本信息
  • /etc/gshadow:组的密码信息

2. useradd命令

新增用户 useradd newusername

3. passwd命令

  • 设置自己的密码:passwd
  • 设置其他用户密码(root可执行):passwd user1
  • 直接设置其他用户密码(root可执行):echo “newpassword” | passwd --stdin user
  • 锁定/解锁用户(root可用):passwd -l user passwd -u user

4. userdel命令

删除用户 userdel user

5. groupadd命令

增加组

6. groupmod命令

  • -g:修改 gid
  • -n:修改组名

7. gpasswd命令

指定组属性

  • gpasswd group:设定组密码
  • gpasswd -A group:指定组管理员(root专用)
  • gpasswd -M user1,user2 group : 添加组成员
  • gpasswd -a user1,user2 group :添加组成功 (组管理员用)
  • gpasswd -d user group:删除组成员 (组管理员用)

四、磁盘管理

1. mount 挂载命令

mount /dev/sr0 /mnt/cdrom  # 挂载设备到挂载点
umount /mnt/cdrom  # 卸载挂载点
mount -o remount,noexec /dev/sdb2  # -o 后接特殊选项,此例为重新挂载并制定不允许在该分区执行可执行文件

2. 磁盘相关

2.1 设备文件名 /dev/sda /dev/sdb

2.2 分区原则

  • 主分区最多4个
  • 扩展分区最多1个
  • 主分区和扩展分区加起来最多4个
  • 主分区和扩展分区 分区号 (1-4)
  • 扩展分区不能直接写入数据,需要分成逻辑分区
  • 逻辑分区的分区号从5开始,系统内第二块硬盘的第一个逻辑分区设备名为 /dev/sdb5

3. 相关命令

fdisk    # 分区命令
mkfs   # 格式化命令   mkfs -t ext4 /dev/sda2

五、进程管理

1. 进程基础

  • ps (-)aux 或 ps -elf 获取快照
  • top命令动态获取系统信息(前5行)
  • uptime命令可以获取当前启动时间和负载信息
  • w命令可以获取 top前3行

2. at 和 batch命令

  • 配置文件: /etc/at.allow /etc/at.deny
  • at 时间:at now +5 minutes,at now +3 days , at 23:00 2021-11-20 , at midnight 2021-11-11
  • atq命令:查询当前 at 任务
  • atrm jobno:删除 at 任务
  • batch命令不需要制定具体时间,其他与at一样

3. crontab命令

  • 配置文件 : /etc/cron.allow /etc/cron.deny /etc/crontab
  • crontab -e命令:编辑当前用户的计划任务
代表意义分钟小时日期月份指令
数字范围0 - 590- 231- 311- 120 - 7这是指令啊
特殊符号含义
*代表任何时间。比如第一个“*” 就代表一个小时中每分钟都执行一次的意思
代表不连续的时间。比如”0 8,12,16 *** 命令“,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
-代表连续的时间范围。比如”0 5 ** 1-6 命令“,就代表在周一到周六的凌晨5点0分执行命令
*/n代表每隔多久执行一次。比如”*/10 * * * * 命令“,就代表每隔10分钟执行一遍命令
时间含义
45 22 * * * 命令每天的22时45分执行命令
0 17 * * 1 命令每周一的17时0分执行命令
0 5 1 ,15 * * 命令每月1号,15号的5时0分执行命令
40 4 ** 1-5 命令每周一到周五的4时40分执行命令
*/10 4 * * * 命令每天4点开始,每隔10分钟执行一次命令 (只有在4点内,超过5点就停止)
0 0 1,15 * 1命令每周一 或者是 每月1号,15号 的 0时0分执行命令

4. 启动/重启/停止服务

service network start/restart/stop
或者服务程序绝对地址 + start/restart/stop

六、软件包管理RPM 和 YUM数据库

1. rpm包相关

  • 安装 : rpm -ivh package , 注意使用包全名
  • 查询: rpm -q soft , 注意使用软件名
  • 卸载:rpm -e package

2. yum相关

  • yum命令需要在联网的环境下或者设置本地yum源。
  • 在联网的环境下可以自动解决依赖性的问题。
  • yum install 软件名 (如 yum install mysqld)
  • yum remove 软件名卸载

七、Linux编程

vi filename   # 打开或新建文件,并将光标置于 第一行首
vi +n filename # 打开文件,并将光标置于 第n行首
vi + filename  # 打开文件,并将光标置于最后一行首
vi + /pattern filename  # 打开文件,并将光标置于第一个与 pattern 匹配的串处
vi -r filename  # 在上次正用 vi 编辑时发生系统崩溃,恢复 filename
vi filename...filename # 打开多个文件,依次进行编辑

1. 三种 模式

  • 运行 vi命令进入命令模式
  • 按 aior(或AIOR)进入输入模式(插入模式) , 按ESC回到命令模式
  • 输入 : 进入底行命令模式(底行模式、末行模式),按ESC回到命令模式

2. 命令模式下的常用命令

  • 定位
命令解释
H移至屏幕顶端
M移至屏幕中间
L移至屏幕下端
n+空格向右移动n个字符
G移动到最后一行
nG移动至第 n 行
gg移动至 第一行
  • 删除
命令解释
x(小写)向后删除一个字符
X(大写)向前删除一个字符
nx连续删除n个字符
dd删除当前行
ndd向后删除n行
d1G删除第1行至当前行
dG删除当前行到最后一行
  • 复制
命令解释
yy复制当前行
nyy向后复制n行
y1G复制第1行至当前行
yG复制当前行至最后一行
p(小写)粘贴在下一行
P(大写)粘贴在上一行
  • 其他
命令解释
u撤销
ZZ保存文件并退出

3. 底行模式下的常用命令

  • 保存
:w
:w!
:wq
:q!
:wq!
file
  • 行号
:se nu
:se nonu
:set nu
:set nonu
  • 查找
命令解释
:/str向下搜索str
:?str向上搜索str
n往前重复上次搜索
N往后重复上次搜索
  • 替换
命令解释
😒/old/new本行替换一次
😒/old/new/g本行全部替换
:n1,n2s/old/new/g从第n1行到第n2行全部str1替换为str2

八、Shell编程

1. shell基础

  • echo命令:-e -n :显示内容不换行 (-e 可换行,-n不换行)
  • 重定向: > : 以覆盖方式将输出重定向至文件。 >> 以追加方式将内容重定向至文件
  • 管道符

2. 变量定义

  • echo 输出
  • unset 删除变量
  • 环境变量:export关键字,建议变量名字全部大写,env查看,unset删除
  • 注意事项: = 两边不能有空格;默认为字符串类型;如果有两个单词以上可以使用“ ”或‘ ’ 引起来,“ ”里面特殊字符有固定含义,如 $ !等, ‘ ’里面均为普通字符。 ``反引号可以引用系统命令。
  • 预定义变量,位置参数变量
位置参数变量作用
$nn为参数,$0代表命令本身,$1- 9 代表第一到第九个参数,十以上的参数需要用大括号包含,如 9代表第一到第九个参数,十以上的参数需要用大括号包含,如 9代表第一到第九个参数,十以上的参数需要用大括号包含,如{10}
$*这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
$@这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待
$#这个变量代表命令行中所有参数的个数
预定义变量作用
$?最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令执行不正确。
$$当前进程的进程号(PID)
$!后台运行的最后一个进程的进程号(PID)

3. 数值计算

  • 双小括号 ( ( ) ) :语法最松散, ∗ 等符号无需转义,运算符两侧空格可有可无,小括号头尾空格可有可无,变量引用时 (()) :语法最松散, *等符号无需转义,运算符两侧空格可有可无,小括号头尾空格可有可无,变量引用时 (()):语法最松散,等符号无需转义,运算符两侧空格可有可无,小括号头尾空格可有可无,变量引用时符号可有可无,如a = 11 ; b = 22 ;c=$((a+b)),与 $[]功能相同。
  • let :功能等同于 双小括号,变量前可以不加 $ , = 和其他运算符之间不能有空格。如 let c=a+b,let c=$a+2。
  • expr命令:*等特殊符号必须转义(\ *),运算符两边必须有空格,引用变量必须加 $。
  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值