linux语言学习记录

文章目录

  • 前言
  • 一、linux文件结构
  • 二、指令
  • 三、Gvim编辑器
    • 1、命令模式
    • 2、底行命令
  • 四、正则表达式
    • 1、表达式匹配举例
    • 2、对文件里面内容进行操作
    • 3、使用 `\(` 和 `)\` 符号括起正规表达式,即可在后面使用`\1`和`\2`等变量来访问和中的内容


前言

记录自己学习linux的笔记,加油!
2023.3.8
2023.4.7


一、linux文件结构

linux语言学习记录_第1张图片

  1. root : 该目录为系统管理员目录,root是具有超级权限的用户。

  2. bin ->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。如cp、ls等多个命令。

  3. usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统以来的一些文件库。

  4. usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。

  5. lib->usr/lib: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。

  6. boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  7. dev: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。

  8. etc: 这个目录存放所有的系统管理所需要的配置文件。

  9. home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。

  10. var : 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。

  11. mnt : 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容

  12. opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。

  13. tmp: 这个目录是用来存放一些临时文件的。

二、指令

cd :cd –(返回上一次打开的目录) cd ~(返回根目录) cd …(返回上一级目录)
pwd :输出当前路径
whoami:输出用户名
ls :-al(显示所有文件及其属性)
文件属性:-常规文件,d目录,l链接文件,文件权限rwxr–rwx分别表示文件所有者、组内其他人、系统中其他人的读写执行权限
修改文件权限chmod 777/772/664 name (r4 w2 x1
ln :-s source name建立软链接,方便不同文件之间快速转换
less:显示文件内容
q:退出
more:显示内容
cat:显示内容,拼接文件
head:显示文件前几行内容
touch:创建空文件
mkdir:创建空文件夹
cp:拷贝 源文件-目标文件(-r目录)
rm:-r删除目录,-rf强制删除
mv:移动文件,修改名称
wc:统计,-c字节数,-l行数,-w字数
find:查找 -name “1”
grep:查找文件里面的内容 grep “error” -r(递归查找)
sort :让文件里面内容按顺序排列
diff:比较文件内容
tar :打包不进行压缩,文件大小不变,tar -cvf bao.tar 要打包的文件(可以多个)(-czvf .tar.gz压缩文件命令和文件名 -tvf不解压直接查看 -xzvf解压 -xvf解开包)
alias:sc=“source ~/.bashrc”设置别名 alias -p查看现有别名(改动之后要source一下)
ps -u:查看当前进程
kill -9 id号:卡机强制关机
top:当前进程
du -sh:查看当前空间占用,du -sh * 查看每个文件的占用情况 du -h递归显示所有文件
man:联机查看命令使用方法
whereis cp:查看命令所在位置
which:输出命令的全路径

三、Gvim编辑器

三种模式:输入模式命令模式底行命令模式,切换用Esc键

从命令到输入,i左侧输入(最常用),I光标行首输入,o下一行新增一行,O上面一行新增,a光标右侧,A所在行行尾,gg开头G结尾

1、命令模式

x删除一个,dw删除包括及其后面的一个单词,dd删除整行,2dd删除两行,d&删除光标到行尾,dG删除当前行到最后一行 r替换光标所在的字符 cl清除当前字符,cc修改当前行,先删除然后再进入insert模式,c$修改到行尾的内容,ddp上下行交换,
/string查找字符,n/N查找下/上一个,?string往前搜索string,yw复制光标所在单词,nyy复制当前行,p/P粘贴在光标前后

2、底行命令

冒号wq保存并退出,:q! 强制退出,:! 无条件退出
X文件加密 set key= 解密
ab usa United States of America 可以写到配置文件里面
%!sort排序 set ic 不区分大小写 set noic区分大小写
set wrap分屏显示 set nowrap 一行显示所有内容
u撤销(命令)Ctrl+r 重新操作命令 help查看帮助
将选择的小写字母换成大写字母U,Ctrl+v选中字母,u则是返回来
f查找当前文件名,ctrl+p/n自动补全,gf打开文件bd回去
sp/vsp横/竖着开新窗口,Ctrl+w切换不同窗口

四、正则表达式

符号 含义
. 匹配任意一个字符
[abc] [a-z0-9] 匹配方括号中的任意一个字符
[^abc] 匹配除方框内的任意一个字符
\d 匹配阿拉伯数字,等同于[0-9]
\D 匹配除阿拉伯数字以外的任意字符,等同于[^0-9]
\x 匹配十六进制数字,等同于[0-9a-fA-F]
\X 匹配除十六进制数字以外的任意字符,等同于[^0-9a-fA-F]
\w 匹配单词字母,等同于[0-9A-Za-z]
\W 匹配除单词字母以外的任意字符,等同于[^0-9A-Za-z]
\s 匹配空白字符,等同于[\t]
\S 匹配非空白字符,等同于[^\t]
\t 匹配TAB字符
符号 含义
* 0-任意个
+ 1-任意个
? 0-1个
{n, m} n-m个
{n} n个
{n,} n-任意个
{, m} 0-m个

1、表达式匹配举例

1、把所有单词help或Help都改为大写的HELP

:%s/[Hh]elp/HELP/g

2、使用单个空格替换一个或多个空格

:%s/ \+/ /g

3、删除所有空行

:g/^$/d
:g/^ [\t]* [\t]* $/d

4、删除含义某些单词的行

:g/ERROR/d

5、把PATH变量里面的冒号替换成换行符:

echo $PATH | sed 's/ \: / \n /g'

6、将每行开头的单词替换为(行号-10):
<:表示词首 >\:表示词尾 / \ =:等于右边的函数值

:%s/^\<\w\+\> /\= (line(".")-10)

7、删除以数字开头的行

:%s/^\d.*$//g

8、.删除以[a,b,c]开头的行

:%s/^[a|b|c].*$//g

9、在每一行的尾部加上一个句号(或其他字符)

:%s/$/./g

10、将文中所有abc替换成123(g全局替换,否则只改第一个)

:%s/abc/123/g
:3,5s/abc/123/g    特指3-5行的进行替换

2、对文件里面内容进行操作

1、删除所有空行:

sed 's/^$/d ' *.txt

2、删除所有只包含空格或者制表符的行:

sed 's/^[]*$/d' price.txt3.

3、删除所有引号:

sed 's/” //g' price.txt

3、使用 \()\ 符号括起正规表达式,即可在后面使用\1\2等变量来访问和中的内容

1、查找test开头的后面为一个或者多个空格,然后为一个单词。将test和这个单词调换位置.

:%s/\(test\)\s\+(\w\+)/\2 \1/g

你可能感兴趣的:(脚本语言学习,linux,学习,正则表达式)