linux学习笔记

当我们使用vim命令在进行文件编辑的时候,如果此时需要中断一下,可以使用ctrl+z命令来暂时跳出当前编辑页面,进行一些列操作之后,当我们需要回到编辑页面的时候 命令行输入fg就可以再次回到vim的编辑页面了

shell通配符详解
* 匹配任意多个字符
? 匹配任意一个字符
[] 匹配括号中的任意一个字符
() 在子shell中执行
{}集合  touch file {1..9}
shell 脚本中 命令模式下使用ctrl+v 快捷键可以竖向选择,使用delete可以将选择的内容进行删除,一般用来去除前面的空格
$PWD 用来获取当前脚本的所在绝对路径
日期格式化 $(date +%Y-%m-%d %H:%M:%S) +号表示格式的意思
""表示弱引用,其中的变量 n a m e 会被翻 译 ′ ′ 表示强引用,其中的 name会被翻译 ''表示强 引用,其中的 name会被翻′′表示强引用,其中的name 会作为字符串输出出来 ``表示优先执行 功能等同于$()

在这里插入图片描述
在这里插入图片描述

变量的运算 加减乘除
$[]

​ $[2+2] 4

​ $[2**10] 1024

let 并不明确要求运算结果的时候 比如let i++
以调试的方式执行脚本 bash -vx xxx.sh
获取当前程序内存占用百分比

在这里插入图片描述
在这里插p入图片描述

crontab -e 编辑定时任务

grep 精确匹配字符串开头

grep -E “^aa*” /etc/passwd
在这里插入图片描述

不仅仅匹配到了aa开头的用户 还匹配到了a开头的用户,此时我们要为搜索限定一个边界,使用>来表示查询的边界
grep -E "^aa>*" /etc/passwd 效果如下图
在这里插入图片描述
此处只输入 grep -E "^aa>" /etc/passwd 命令是完全匹配不到任何东西的

1 查找文件并删除指令 find/ -name “test*” exec rm -rf {} ; 查找以test开头的文件并将这些文件替换到{}部分从而进行删除。";"前的参数都作为rm的参数,\是对;的转义

2 添加用户组和用户

groupadd mysql 
useradd-r -g mysql mysql
groups mysql

3 查询指定名称的用户和组

sudo cat /etc/passwd |grep ‘name’
sudo cat /etc/group | grep mysql

4 du -sh 查看目录和文件的大小

5 将用户分配到指定的组

usermod -a -G [group] [user] 将一个已有用户添加到指定的组【group】中,但是不更新原主组
usermod -a -g [group] [user]
将一个已有用户user添加到apache组中并设置为用户的主组
gpasswd -d [user] [group]
将一个用户从某个组中删除

6 检索文件内容关键字

cat 文件名 | grep -C 20 '关键字' 显示文件里匹配关键字那行以及上下20行
cat 文件名 | grep -B 20 '关键字' 显示关键字及前20行
cat 文件名 | grep -A 20 '关键字' 显示关键字及后20行


grep 系列
grep '[关键字]' [文件名称] #当关键字中含有空格时 需要加单引号
grep  -r 'xxxx' path    #递归检查path路径下带有xxx关键字的文件

grep -C 10 'xxxx'  xxx.txt  检索xxxx上下10行数据
grep -B 10 'xxxx'  xxx.txt  检索xxxx上面10行数据
grep -A 10 'xxxx'  xxx.txt  检索xxxx下面10行数据
grep 'xxxx' -r -l .   再当前目录下检索存在xxxx关键字的文件

grep 'server' nginx.conf |grep ':'   #在nginx.conf中检索同时包含`server`和`:`的行

7 在某一路径下检索文件

find / -name [xxx] 在根目录下检索名为xxx的文件,会递归检索到每一个子目录中
find / -name a*a 在根目录下检索以a开头 以a结尾的文件,会递归检索到每一个子目录中
更快速的检索文件locate *.c

8 检索关键字之外的名字

ls |grep -v keep*   #检索除keep开头的其余文件/文件夹的名字
ls |grep -v keep* | xargs rm -rf  # xargs用于从 标准输入获得参数 并且传递给后面的命令 表示删除除keep开头文件之外的文件

9 -bash: export: `=': not a valid identifier linux 等号两边不能有空格

10 使用linux rz命令时传输文件乱码中断

10.1 原因是因为文件中包含控制字符
10.2 使用#8中方法删除保留文件之外的其余文件/2.使用inode进行删除,`ls -i`查询文件inode号,find ./ -inum 1234 | xargs rm -rf  进行删除
10.3  使用rz -be 命令进行传输,b表示使用二进制   -e表示强制escape(避开) 所有控制字符

11 使用tar -zxvf xxxx.tar文件时报错

使用tar -xvf  xxx.tar    -z 表示使用gzip命令进行压缩,tar后缀文件并没有使用gzip压缩,所以不能使用-z

12 xargs mv 命令高效移动文件

ls | grep -v itrusnccsite-3.0.2.jar  | xargs -I {}  mv {}  /usr/local/apache-tomcat-8.5.42/thirdlib   
-I 将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。(大写i)
find ./ -mtime -10 -type f| xargs -I {} mv {} …/yolo/
-mtime 根据时间单位天 -10 表示10天之内 +10 表示10天之前
-mmin 根据时间单位分钟 -10 表示10分钟之内 +10 表示10分钟之前
-type 查找类型 f 表示文件 d 表示文件夹

13 vim 复制一行

#将光标移动到要复制的行上,使用yy 复制一行
#将光标移动到要粘贴的位置,使用p 粘贴一行

14 统计文件夹下文件个数

ls -l | grep "^-" | wc -l(不包含子文件夹)
ls -lR | grep "^-" | wc -l(递归统计)

15 将文件夹下的文件按照时间排序

ls -t  #按照文件修改时间降序排序 最新的排在最上面
ls -tr # 按照文件的修改时间升序排序,最新的排在最后面

16 unzip 解压到指定文件

unzip xxxx.zip -d /tmp/test/ /test目录不存在时,会自动创建,但是/tmp/test路径不存在时 会报错 -d表示指定目录
unzip -l test.zip #查看压缩包文件
unzip -t test.zip #查看文件是否损坏
unzip test.zip #解压文件到当前目录
unzip 'test*.zip' # 解压test开头的所有zip文件。test*.zip 需要用单引号包裹起来

17 rar 文件解压和压缩

sudo apt install rar # 安装rar
rar l test.rar #查看压缩包文件内容
rar x test.rar /home/test 解压文件到指定目录
rar a test.rar test1 test2 将test1 test2两个文件压缩到test.rar

18 scp 传输文件

scp -P 22 test.txt root@192.168.71.128:/home/test
-P 指定传输端口 不指定默认22 必须再选择的文件之前进行指定
test.txt 传输的文件
root: 目标服务器登录用户名
192.168.71.128: 目标服务器ip
:/home/test :目标服务器路径

19 shell脚本中$的用法

$ 符号说明
$0Shell 的命令本身
1到9Shell 的第几个参数
$?显示最后命令的执行情况
$#传递到shell脚本的参数个数
$$脚本运行的当前进程PID
$!后台运行的最后一个进程的PID

20 sed 命令插入一行

在操作docker容器中的文件时,有可能容器中没有安装vi 、vim命令,此时使用sed命令可以完成文件内容的修改
sed '2i\nameserver 192.168.100.199' /etc/resolv.conf

Linux学习笔记是关于学习Linux操作系统的记录和总结。在学习Linux时,你可能会遇到以下几个方面的内容。 首先,Linux是一个面向网络服务的操作系统,因此你可以随意更换桌面系统。Linux有多种不同的桌面系统供你选择。这意味着你可以根据自己的喜好和需求,选择适合自己的桌面环境。 其次,在Ubuntu中,root用户默认是被锁定的,因此你无法直接使用root权限进行操作。但是,你可以使用sudo命令来提升权限,以执行需要root权限的操作。通过sudo命令,普通用户可以在需要时暂时获得root权限,以便进行需要的操作。 此外,如果你需要修改内核为bash,可以使用vim编辑器打开/etc/passwd文件进行修改。在Linux系统中,vim是一种常用的文本编辑器,类似于Windows的记事本。通过编辑/etc/passwd文件,你可以修改用户的登录shell为bash。 总结起来,Linux学习笔记记录了学习Linux操作系统的过程和经验,包括选择适合自己的桌面环境、使用sudo提升权限以及通过vim编辑器修改/etc/passwd文件等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux学习笔记](https://blog.csdn.net/m0_65379736/article/details/125700177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值