文章目录
- 前言
- 一、linux文件结构
- 二、指令
- 三、Gvim编辑器
- 1、命令模式
- 2、底行命令
- 四、正则表达式
- 1、表达式匹配举例
- 2、对文件里面内容进行操作
- 3、使用 `\(` 和 `)\` 符号括起正规表达式,即可在后面使用`\1`和`\2`等变量来访问和中的内容
前言
记录自己学习linux的笔记,加油!
2023.3.8
2023.4.7
一、linux文件结构
-
root
: 该目录为系统管理员目录,root是具有超级权限的用户。 -
bin ->usr/bin
: 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。如cp、ls等多个命令。 -
usr
是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统以来的一些文件库。 -
usr/local/bin
:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。 -
lib->usr/lib
: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。 -
boot
: 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 -
dev
: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。 -
etc
: 这个目录存放所有的系统管理所需要的配置文件。 -
home
:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。 -
var
: 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。 -
mnt
: 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容 -
opt
: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。 -
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