常用的基本命令
绝对路径和相对路径
绝对路径:
路径的写法,由根目录 / 写起,例如:/usr/local/nginx这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/local/nginx要到 /usr/local/share底下时,
可以写成:cd ../share 这就是相对路径
处理目录的常用命令
ls: 列出目录
ll:
罗列出当前文件或目录的详情信息,含有时间、读写权限、大小等信息 ,像Windows显示的详 细信息。ll是“ls -l"的别名。相当于Windows里的快捷方式。可以理解为 ll 和 ls -l 的功能是相同 的, ll 是 ls -l 的别名。
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp: 复制文件或目录
rm: 移除文件或目录
mv: 移动文件与目录,或修改文件与目录的名称
基本属性
Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定(如下图):
图片
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中:
第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中,boot 文件是一个目录文件,属主和属组都为 root。
修改文件属性
1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3、chmod:更改文件9个属性
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx---] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
chmod 770 filename
文件内容查看
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
语法:
head [-n number] 文件
选项与参数:-n 后面接数字,代表显示几行的意思!
默认的情况中,显示前面 10 行!
tail 只看尾巴几行
语法:
tail [-n number] 文件
选项与参数:
-n :后面接数字,代表显示几行的意思默认的情况中,显示最后 10 行!
防火墙以及端口号的指令
#查看firewall服务状态
systemctlstatusfirewalld
#开启、重启、关闭、firewalld.service服务
#开启
servicefirewalldstart
#重启
servicefirewalldrestart
#关闭
servicefirewalldstop
#查看防火墙规则
firewall-cmd--list-all#查看全部信息
firewall-cmd--list-ports#只看端口信息
#开启端口
开端口命令:firewall-cmd--zone=public--add-port=80/tcp--permanent
重启防火墙:systemctlrestartfirewalld.service
命令含义:
--zone#作用域
--add-port=80/tcp#添加端口,格式为:端口/通讯协议
--permanent#永久生效,没有此参数重启后失效
其他的常用命令
whoami:查看用户当前身份。
clear:清屏
tar指令:
打包/解包,不打开它,直接看内容
解压,不解开压缩包直径查看里面的内容
常用选项:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
touch:新建文件
grep:一种强大的文本搜索工具 ps -ef | grep xxx 查找指定xxx服务进程
whereis: whereis xxx 将和xxx文件相关的文件都查找出来
crontab:Unix和Linux用于设置定时任务的指令。通过crontab命令,可以在固定间隔时间,执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。
命令:* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
ifconfig:查看网卡信息
kill :结束进程 kill pid 或者 kill -9 pid(强制杀死进程)
ping:查看与某台机器的连接情况
netstat -an:查看当前系统端口
netstat -an | grep ports:搜索指定端口
service network restart :重启网络
setup:配置网络
vi编辑器:
i:在光标所在字符前开始插入
ESC 进入命令行模式
: 进入底行模式
w 保存
q 退出,如果没有保存,不允许退出
q!强行退出,不保存退出
wq 保存并退出
x 保存并退出
u 撤销命令
ctrl+r 恢复撤销命令删除文本:
x 删除光标所在字符或者选中的文字
d(移动命令)
dd删除光标所在行
可以使用数字+dd删除
D 从光标所在位置删至行尾
复制文本: y(移动命令)
复制 yy +数字 复制多行
p 粘贴 替换命令
r 替换当前字符
R 替换当前行光标后的字符
缩排和重复执行
>> 向右缩进
<< 向左缩进
向上翻页 control+b
屏幕内向下翻页 control+f
屏幕中跳转到顶部是H、底部是L、中间是M
标记m+字母进行标记
使用'+改字母定位到标记行 可视模式:
v 正常模式选择文本
V 选中光标经过的完整行
ctrl+v 垂直方向选中文本 ls -la la可以查看隐藏文件
删除交换文件是 d
打开只读是 o
直接编辑 E
恢复 R
退出是 Q 全局替换 %s/要替换的内容 / 替换的内容 / g
可视区域范围替换 s / 要替换的内容 / 替换的内容 / g
确认替换 %s/要替换的内容 / 替换的内容 / g
需要确认是否替换 y 确认替换 n 不替换 a 替换所有 q 退出替换