一、链接命令
1.软链接:快捷方式访问文件
类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。
创建软链接:ln -s
格式: ln -s 源文件路径名 软链接名
ubuntu@python:~/Desktop$ ln -s A/B/C/hello.txt hello1.txt
2.注意:
- 创建软链接应该使用绝对路径
- 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
- 删除源文件则软链接失效
- 可以给目录创建软链接
3.硬链接
格式:ln 源文件路径名 硬链接名
注意:
- 创建硬链接使用相对路径和绝对路径都可以
- 删除源文件,硬链接还可以访问到数据。
- 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
4.知识要点
软链接的作用是方便文件的访问操作,比如把一个复杂的路径下的文件使用软链接就可以完成方便的访问。
创建软链接文件应该使用绝对路径,否则软链接文件有可能失效。
可以给目录创建软链接。
删除源文件,软链接文件会失效。
二、查找文件内容命令
1.grep:查找/搜索文件内容
grep:以行进行查找显示结果
语法:grep 查找的内容 查找的文件
正则表达:
^:以什么开头
$:以什么结束
.:以什么开头和什么结束
ubuntu@python:~/Desktop/A/B/C$ echo hello > hello.txt
ubuntu@python:~/Desktop/A/B/C$ cat hello.txt
hello
ubuntu@python:~/Desktop/A/B/C$ grep ^h hello.txt
hello
ubuntu@python:~/Desktop/A/B/C$ grep hello hello.txt
hello
ubuntu@python:~/Desktop/A/B/C$ grep o$ hello.txt
hello
ubuntu@python:~/Desktop/A/B/C$ grep e.l hello.txt
hello
ubuntu@python:~/Desktop/A/B/C$
-i:忽略大小写
- 格式:grep -i 要搜索的字符串 搜索的文件
-n:显示匹配行号 - 格式:grep -n 要搜索的字符串 在那个文件中搜索
-v:显示不包含匹配文本的所有行 - 格式:grep -v 要排除的字符串 在那个文件中搜索
-正则表达式的使用:
- ^ 以指定字符串开头
- $ 以指定字符串结尾
- . 匹配一个非换行符的字符
2.find:在指定目录下查找文件(包括目录)
-name:
语法:根据文件名(包括目录名)字查找- 格式: find 要搜索的路径 -name “文件名”
ubuntu@python:~/Desktop$ find . -name "hello.txt"
./A/B/C/hello.txt
./hello.txt
ubuntu@python:~/Desktop$ find A
A
A/B
A/B/C
A/B/C/heelo.txt
A/B/C/hello.txt
通配符:
*:代表0个或多个任意字符
格式:find 要搜索的路径 -name “*.txt”
ubuntu@python:~/Desktop$ find . -name "h*"
./A/B/C/heelo.txt
./A/B/C/hello.txt
./hello.txt
?:代表1个任意字符
格式:find 要搜索的路径 -name “?.txt”
ubuntu@python:~/Desktop/A/B/C$ find ./ -name "2?.txt"
./2q.txt
size:根据文件大小查找
#查找0k的文件
ubuntu@python:~/Desktop/A/B/C$ find ./ -size 0k
./heelo.txt
./2q.txt
ubuntu@pyt
ps:查看进程
#查找所有进程
ubuntu@python:~/Desktop/A/B/C$ ps aux
#查找nginx的进程
ubuntu@python:~/Desktop/A/B/C$ ps aux | grep nginx
ubuntu 4245 0.0 0.0 21536 1040 pts/0 S+ 10:47 0:00 grep --color=auto nginx
#显示行数
ubuntu@python:~/Desktop/A/B/C$ ps aux | grep nginx -n
306:ubuntu 4252 0.0 0.0 21536 1012 pts/0 S+ 10:50 0:00 grep --color=auto nginx -n
#查找除了进程的内容(-v除此之外的意思,进行反转查询)
ubuntu@python:~/Desktop/A/B/C$ ps aux | grep nginx -v
#忽略大小写
ubuntu@python:~/Desktop/A/B/C$ ps aux | grep nginx -i
三、压缩和解压缩的命令
1.压缩
* 使用tar命令来压缩和解压:.gz .bz2
* 使用zip命令来压缩,使用unzip命令来解压缩
* 压缩的目的:节省磁盘空间
#gz创建压缩格式:tar -zcvf 压缩包名.tar.gz 目录名(文件夹名)
#bz2创建压缩格式:tar -jcvf 压缩包名.tar.gz 目录名(文件夹名)
#zip压缩格式:zip 压缩名 压缩额资源
.gz:压缩包后缀
.bz2:压缩包后缀
tar命令及选项的使用:
-c:创建打包文件
-v:显示打包或解包的详细信息
-f:指定文件名称,必须放到所有选项后
-z:压缩或解压.gz格式
-j:压缩或解压.bz2格式
-x:解包
-C:解压缩到指定目录
ubuntu@python:~/Desktop/A/B/C$ ll
总用量 12
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 11 11:25 ./
drwxr-xr-x 3 ubuntu ubuntu 4096 10月 11 09:42 ../
-rw-r--r-- 1 ubuntu ubuntu 0 10月 11 11:25 2q.txt
-rw-r--r-- 1 ubuntu ubuntu 0 10月 11 09:44 heelo.txt
ubuntu@python:~/Desktop/A/B/C$ tar -cvf 1.tar *.txt
2q.txt
heelo.txt
hello.txt
ubuntu@python:~/Desktop/A/B/C$ ll
总用量 24
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 11 11:37 ./
drwxr-xr-x 3 ubuntu ubuntu 4096 10月 11 09:42 ../
-rw-r--r-- 1 ubuntu ubuntu 10240 10月 11 11:37 1.tar
-rw-r--r-- 1 ubuntu ubuntu 0 10月 11 11:25 2q.txt
-rw-r--r-- 1 ubuntu ubuntu 0 10月 11 09:44 heelo.txt
-rw-r--r-- 1 ubuntu ubuntu 6 10月 11 10:26 hello.txt
ubuntu@python:~/Desktop/A/B/C$
- zip:压缩成.zip格式文件
zip FileName.zip DirName
- 注意:
- 压缩文件尽量使用.gz格式,因为占用空间较少
- 使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单
3、bz2、gz和zip的区别:
bz2:压缩率更高
gz:花费时间少
zip:跨平台比较好
2.解压缩
gz解压命令格式:tar -zxvf 压缩包名
bz2解压命令格式:tar -jxvf 压缩包名
zip解压命令格式:unzip 压缩包名
- 解压缩.zip格式文件
unzip FileName.zip
- 选项使用:-d 解压缩到指定目录
四、文件权限
1.修改权限:chmod
可以针对目录、文件
- 语法:
chomd 权限修改方式 资源名称
- 修改方式:
- 字母法
格式:chmod 不同角色设置的权限 文件
chomd 角色权限 资源名
#用户添加可读权限
ubuntu@python:~/Desktop$ chmod a+r A
dr--r--r-x 3 ubuntu ubuntu 4096 10月 11 09:42 A/
#用户组设置可写权限
ubuntu@python:~/Desktop$ chmod g=w A
dr---w-r-x 3 ubuntu ubuntu 4096 10月 11 09:42 A/
#其他用户减去可读权限
buntu@python:~/Desktop$ chmod o-r A
dr---w---x 3 ubuntu ubuntu 4096 10月 11 09:42 A/
- 角色:
u:所有者—user, 表示该文件的所有者
g:用户组—group, 表示用户组
o:其他用户—other, 表示其他用户
a:所有人—all, 表示所有用户
+:加权限
-:撤销权限
=:设置权限r 可读(4) w 可写(2) x 可执行(1)
- 无任何权限(0)
chmod u
chmod g
chmod o
chmod u+rwx a.txt
chmod g+r a.txt
chmod o-rwx a.txt
-
ll命令:ls al的缩写
-
数字法
-
格式:chmod 不同角色的权限值 文件
r:4
w:2
x:1
-:0 -
格式:chmod 数字权限 资源名
-
数字方法从后往前进行修改,1代表001
#用户:可读可写 用户组:可读 其他用户:可读
ubuntu@python:~/Desktop$ chmod 644 A
drw-r--r-- 3 ubuntu ubuntu 4096 10月 11 09:42 A/
ubuntu@python:~/Desktop$ chmod 1 A
d--------x 3 ubuntu ubuntu 4096 10月 11 09:42 A/
- 修改目录的权限,只是对目录本身权限进行修改,目录里的其他目录和文件权限不变。
#修改A和A目录内的内容的权限都为777
ubuntu@python:~/Desktop$ chmod -R 777 A
- 在s目录里修改folder的权限:
ubuntu@python:~/Desktop/folder/s$ chmod u=rwx ../../folder -R
- 在s目录修改Desktop/hello1文件的权限:
ubuntu@python:~/Desktop/folder/s$ chmod u=rw,g=r,o=x ../../hello1.txt
- 超级管理员永远有设置权限。
- 目录设置权限:
语法和文件设置权限是一样的
如果要对目录下面的资源也设置相同的权限,就要添加选择 -R
五、获取管理员权限的相关命令:
sudo -s 快速切换到root—切换到root用户,获取管理员权限
sudo 指令 以root权限去执行指令—某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo(临时获得管理员权限)
whoami:查看当前用户限
exit:退出登录用户
who:查看所有的登录用户
passwd:修改用户密码,不指定用户默认修改当前登录用户密码
which命令:查看当前的用户—查看命令位置
shutdown -h now init 0:关机—立刻关机
reboot init 6:重启
init3:命令行操作系统
init5:桌面操作系统
ssh:远程登录
格式:ssh 用户名@ip地址
远程链接服务器:ssh -p端口号 用户名@服务启ip地址
使用ssh服务,需要安装对应的服务端和客服端软件。
安装ssh的命令:sudo apt-get install openssh-server
scp远程拷贝
- 远程拷贝文件格式:远程文件传输:scp 源文件(要拷贝的文件) 目标文件(拷贝的地址)
scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
scp 远程服务器用户名@远程服务器ip地址:远程服务器文件 指定拷贝到本地电脑的路径
-远程拷贝目录:远程文件夹传输:scp -r 源文件(要拷贝的文件) 目标文件(拷贝的地址)
scp -r 本地目录 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
scp -r 远程服务器用户名@远程服务器ip地址:远程服务器目录 指定拷贝到本地电脑的路径
-r 表示递归拷贝整个目录
六、软件安装
- 两种安装方式:
离线安装:(deb文件格式安装)
dpkg 安装和卸载deb安装包
选项使用:
- -i 离线安装deb安装包
- 格式:sudo dpkg -i 离线deb安装包
在线安装:(apt-get方式安装)
格式:sudo apt–get install 安装包
3.更改镜像源
可视化方式更改镜像源
手动方式更改镜像源
注意:配置完要执行sudo apt-get update
2.两种卸载方式:
离线安装包的卸载(deb 文件格式卸载)
- 格式:sudo dpkg –r 要卸载的包名
在线安装包的卸载(apt-get 方式卸载)
- 格式:sudo apt-get remove 软件名
七、vim
1.定义:vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。
工作模式:
命令模式
编辑模式
末行模式
命令模式:
yy 复制光标所在行
dd 删除/剪切当前行
V 按行选中
p 粘贴
‘>>‘:往右缩进
’<<’:往左缩进
:开始行数,结束行数s/要替换
u 撤销
ctr+r 反撤销
G 回到最后一行
gg 回到第一行
数字+G 回到指定行
shift+6 回到当前行的行首
shift+4 回到当前行的行末
ctr+f 下一屏
ctr+b 上一屏
cw 删除一个单词
dw 删除单词到尾部(包括空格)
de 删除单词到尾部(不包括尾部空格)
按 w:光标跳到下个word的开头。[常用]
按 e:光标跳到下个word的字尾。
按 b:光标回到上个word的开头
NG 跳转到第N 行的行首
gU (变大写) 可视下操作(v)
gu (变小写) 可视下操作(v)
vim -On file1 file2 ... 使用大写的O参数来垂直分屏
vim -on file1 file2 ... 使用大写的o参数来水平分屏
:sp filename 上下分割,并打开一个新的文件
:vsp filename 左右分割,并打开一个新的文件
Ctrl+W l
把光标移到右边的屏。
Ctrl+W h
把光标移到左边的屏中。
Ctrl+W k
把光标移到上边的屏中。
Ctrl+W j
把光标移到下边的屏中。
Ctrl+W w
把光标移到下一个的屏中。.
2.末行模式
:w 保存
:wq 保存且退出
:x 保存退出
:q! 强制退出
:/搜索的内容 搜索指定内容
:%s/要替换的内容/替换后的内容/g 全局替换
:开始行数,结束行数s/要替换的内容/替换后的内容 局部替换
扩展
:行号 跳到文章的某一行
ZZ(大写) 保存并退出
3.vim的常用命令:
:%s/nihao/itcast
八、用户相关命令
1.useradd:创建(添加)用户
- 格式:useradd 用户名
- 选项使用:
-m:自动创建用户主目录,主目录的名字就是用户名 - 格式:sudo useradd -m 用户名
- 注意:默认会创建一个同名的家目录
-g :指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 - 注意:
-useradd 命令的使用需要使用管理员权限,前面需要加上 sudo
-创建用户如果不指定用户组,默认会自动创建一个同名的用户组
-查看用户是否创建成功,可以查看/etc/passwd这个文件
-查看用户组是否创建成功,可以查看/etc/group这个文件
id:查看用户信息
设置密码:sudo passwd 用户名
su:切换用户
格式:su - 用户名
userdel:删除用户 userdel 用户名
选项使用:
-r 用户名 删除用户主目录,必须要设置,否则用户主目录不会删除
格式:sudo userdel -r 用户名