Linux进阶操作
Linux进阶操作
touch 文件 如果文件不存在就新建文件;如果文件已经存在就修改文件的时间为当前时间
1.1 输出重定向
命令结果默认是输出到终端的,使用重定向可以将一个命令的输出结果输出到文件中
输出重定向分为覆盖重定向和追加重定向
覆盖重定向
符号: > 把一个命令的输出结果写入一个文件中,覆盖文件中原有数据<覆盖输出重定向>
ls > a.txt
ls -al > a.txt
追加重定向
符号: >> 追加输出重定向
把一个命令的输出结果写入到一个文件中,追加数据到文件原有数据之后
ls -alh >> a.txt
1.2 cat命令
查看文件内容<数据较少> cat 文件名
会将文件的所有内容直接全部显示
合并文件内容
将多个文件内容合并输出到终端显示 cat 文件1 文件2 ....
将多个文件合并到file文件中去 cat 文件1 文件2 .... > file
1.3 more命令
查看文件内容<数据多少都可以> more 文件名
more会将一个文件的内容分屏显示
q退出 空格翻一页
history > file.txt
more file.txt
1.4 |
命令 | 命令
符号|的作用: 把左面命令的输出当做 右面命令的输入
history | more 分屏查看一个命令的多行输出
ls /bin -al | more 分屏查看/bin下所有文件的详细信息
1.5 链接文件
link == ln
1.5.1 软链接文件<符号链接>
快捷方式
ln -s 源文件名称 链接文件名称
可以通过修改软链接数据 去修改源文件的数据
# 给secret.txt文件创建一个软链接文件mysec_slink.txt
python@ubuntu:~/Linux$ ln -s secret.txt mysec_slink.txt
软链接中不保存数据,数据保存在源文件中;
源文件如果找不到,那么软链接文件就失效了
1.5.2 硬链接文件
1.5.2.1 使用形式
ln 源文件名称 硬连接文件
1.5.2.2 特点
硬连接本质上只是源文件数据的一个新名称而已 即 同一份数据,有两个不同的名字,对不同名字操作时都是对这一份数据进行操作
和软链接一致的是, 修改源文件和硬连接文件能够相互影响
1.5.2.3 硬连接 软链接区别:
硬连接大小和源文件大小一致, 软链接大小和源文件无关<nn字节>
软连接依赖于源文件, 硬连接不依赖于源文件
* 硬连接的源文件只能是普通文件,软链接的源文件可以是目录<可以跨分区>
扩展:
硬连接和源文件其实是同一份文件数据
验证: ls -il 查看所有文件的iNode编号<每个文件在文件系统中的唯一标识>
建议:
链接文件一律写成绝对路径 以/开始
ln -s /home/python/Linux/secret.txt /home/python/Desktop/mslink.txt
- 关于链接路径
- 在源文件和软链接的文件同一个目录时 ln -s 路径1/文件(目录) 路径2/名字
- 路径1可以是相对路径,路径2可以是相对路径
- 在源文件和软链接的文件不在同一个目录时 ln -s 路径/文件(目录) 路径/名字
- 路径1要使用绝对路径,路径2可以是相对路径
- 硬链接路径1和路径2对绝对路径与相对路径没有要求
1.6 grep文件内容搜索
grep [-] '线索特征' 文件名称
选项:
-n 显示匹配数据所在的行号
-i 忽略大小写
-v 取反
线索字符串可以是正则表达式
搜索每一行以i字母开始的 grep -i '^i' grep.txt
搜索每一行以cn结束 grep 'com$' grep.txt
匹配[]其中任意一个字符
匹配以i或者I开始的行 grep '^[iI]' grep.txt
点. 匹配任意一个非换行符 \n
grep 'h.i' grep.txt
1.7 find
选项:
find 路径 -name 文件名称
搜索路径下所有的文件 名为xxx的文件
sudo find / -name 1.txt
> 如果权限不够 使用sudo command表示以root用户权限来运行命令
结合通配符使用
- *匹配0个或者多个任意字符
ls more*.txt
more1.txt more2.txt more.txt
- ?匹配1个任意字符
ls more*.txt
more1.txt more2.txt
- [abc] 匹配其中任意一个字符
ls more[123456789].txt
- [a-z]匹配任意a-z之间的字符 [0-9]匹配任意一个0-9之间的字符
ls more[1-9].txt
1.8 tar文件归档
1.8.1归档与解归档
创建归档文件<不压缩> tar -cvf 1.tar file1 file2
解开归档文件 tar -xvf 1.tar
-c 创建归档文件
-v 显示详细过程
-f 指定归档文件名称
-x 解归档/解包
选项可以不带 -
1.8.2 压缩与解压缩
-z 使用gzip工具进行压缩/解压缩
-C 路径 指定解压的路径
-j 使用bzip2工具进行压缩/解压缩
打包并且gzip进行压缩
tar -zcvf Linux.tar.gz Linux/
-rw-rw-r-- 1 python python 20388645 10月 25 11:43 Linux.tar.gz
解包并且gzip解压缩
tar -zxvf Linux.tar.gz
解<包>压到指定路径
tar zxvf Linux.tar.gz -C /home/python/Desktop/
bzip2压缩<打包>
tar -jcvf 1.tar.bz2 Linux/
bzip2解压缩<解包>
tar -jxvf 1.tar.bz2
zip压缩与unzip解压
zip 压缩包名.zip 要压缩的文件1....
unzip -d 解压路径 压缩包名.zip
1.9 修改权限-理解
rwx rwx r-x
所属用户 所属用户所在的组 其他
user u group g other o all a
-代表没有这个权限
r 读 4
w写 2
x可执行权限 1
- 无权限 0
字母设定法
chmod [a g u o] [+-=] [rwx] 文件的名称
推荐使用数字法设定权限
chmod xxx 文件名称
chmod 644 ls.txt rw- -w- -w- 等价于 chmod u=rw,g=w,o=w ls.txt
chmod 755 ls.txt rwx -wx -wx
了解-目录的读写权限的含义
r ls查看目录下的文件信息
w 在目录下新建文件
x cd进入这个目录
2.配置
2.1远程登录
ssh python@192.168.1.11
软件有:xshell putty secretCRT
端口 22
2.2远程拷贝
scp -r 用户名@192.168.1.11:/home/p/Desktop/1.txt C:\Users\Admi\Desktop
端口 22
3.安装软件
在线安装 sudo apt-get install 安装的软件
离线安装 sudo dpkg -i 安装包.deb
卸载软件 sudo apt-get remove 软件名
4.vim
4.1 三种模式
命令模式
编辑模式 按 i 进入
末行模式 按 :进入
4.2命令模式进入编辑模式
i I a A o O
i 在光标前的位置插入
I 在行首的位置插入
a 在光标后的位置插入
A 在行尾的位置插入
o 所在的上行插入
O 所在的下行插入
4.3命令模式到末行模式
保存退出 :wq 或者:x 或者 ZZ(在命令模式即可)
4.4 vim常用操作
:行号n 光标跳转到第n行
:set nu 显示行号
:set nonu 不显示行号
gg 全文开头
G 全文末尾
X 删除光标前面的字符
x 删除光标后面的字符
dd 剪切 9dd 剪切9行
yy 复制 9yy 复制9行
p 粘贴
u 撤销
r 替换 替换光标所在 位置的字符
ctrl r 反撤销