一、Linux命令行
cd 目录--绝对路径、相对路径
../ 代表返回上一级
clear或者Ctrl+L 清屏
查看当前绝对路径 :pwd
查看当前目录下的内容:ls -a;-i;-l
1.文件夹操作:
增:mkdir 目录路径 mkdir -p ./1/2/3 创建多层文件夹
删:rmdir 目录路径
改:mv 原路径,新路径
查
2.文件命令:
增:touch 文件路径
删:rm -rf删库跑路
改:mv 原路径,新路径
查
复制:cp 原路径,新路径
3.目录结构:
/ 系统根目录,~ 当前家目录
4.文件内容操作命令
head -n从头部查看文件n行数据。
tail -n 从底部查看文件n行数据。
tail -f 动态查看文件
cat
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
more -num 一次显示的行数
Crtl+b向上翻页,空格键向下翻页
less语法: less [参数] 文件
回车:向后一行 y向前一行
o<其他文件>把加载的文件内容输出到其他文件中。
管道符(|):前面的命令|后面的命令 把前面命令执行的结果作为后面命令的输入
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
ps查看进程信息并通过less分页显示
ps -ef |less
5.解压,压缩
解压:tar -zxvf xxx.tar.gz 压缩:tar -zcvf xxx xxx.tar.gz
6.vi编辑器
vi 文件名 进入文件编辑
由查看模式进入编辑模式:a是在光标后面插入;A在光标所在行行末插入。i在光标处插入,I在所在行行首插入。o在所在行下方插入,
O 在所在行上方插入。
退出编辑模式esc键;查看模式快速切换行,G直接到尾行。gg到第一行,当前行向下,数字gg,跳到**行。
进入尾行模式-输入:
q!强制退出,wq保存退出(x)。
复制(查看模式下进行):
单行复制yy
粘贴p
多行复制nyy,从当前行往下n行复制。
粘贴一样;ps:在编辑模式下运行,shift+insert 粘贴。
7.删除(查看模式下)
单行删除:dd
多行删除:ndd
8.撤销:u
剪切:删除后在p
9.末行模式常用命令
set: nu 行号
查找:/字符串 向下查找
?字符串 向上查找;n下一个,N上一个
10.替换
(1):1,10s/old/new/g
:替换1到10行的所有old为new
注:1,10s表示第一行到第十行,s代表替换。
(2)/old/new
表示把old换成new。
g表示范围内替换所有。(如果不加g,只会替换范围内第一个old)
(3):%s/old/new/g
:替换整个文件的old为new
注:%表示范围是整篇文档。
替换字符串,举几个例子:
在shell中“#”开头是注释,那我是否可以注释文件的前10行呢?手工一个一个注释很麻烦,如何进行批量替换。
(4):1,10s/^/#/g
:注释1到10行
注:^正则表达式表示行首,把行首变成#。
(5):1,10s/^#//g
:取消注释
注:^#意思是把行首的#去掉。正则表达式是包含匹配,如果只写#,表示1到10行所有的#都去掉。
注:在C语言,PHP语言等大多数语言中,是使用"//“开头作为注释的,用vim来写这些程序语言脚本,如何批量加入”//"注释。
(6):1,10s/^/\/\//g
:1到10行,行首加入//
注:把行首^替换成//(双斜杠 //),\符号在命令行中代表换行,\符号在字符串中代表转义符。(转义符就是把有特殊含义的字符转换成
普通的字符串符号。)
(7):1,10s/^\/\///g
:取消1到10行行首的//
二、Linux系统结构
硬件–内核kernel–shell命令解释器–外层应用程序
三、用户管理
增:创建用户。useradd 用户名 ps:正常还需要修改password
修改密码passwd;切换用户:su+用户名
删:userdel
改:usermod
查:vi /etc/passwd 查看所有用户
四、组管理
赋权语句:
drwxr-xr-x. 2 test1 article 4096 Oct 30 19:20 article
用户 用户组 字节 创建时间 名字
drwxr-xr-x
第一个d代表文件夹
第一个-代表文件
d rwx r-x r-x
文件所有者(u) 所在组(g) 其他用户(o)
(u:user 用户 g :group 组 o: other 其他)
r 4(read): 可读权限
w 2 (write):可写权限
x 1 : 可执行权限
可用数字表示
drwxr-xr-x
对于文件所有者来说:可读可写可执行
对于所在组来说:可读可执行
对于用户来说:可读可执行
-rw-r--r--
对于文件所有者来说:可读可写
对于所在组来说:可读
对于用户来说:可读
763
对于文件所有者来说:可读可写可执行
对于所在组来说:可读可写
对于用户来说:可写可执行
0 1 2 3 4 5 6 7
--- --x -w- -wx r-- r-x rw- rwx
chmod 777 b.log 给b.log赋权限
chmod g=w aaa.txt
对文件所属组只给可写权限其他不变
chmod u-w aaa.txt
对文件所有者去除可写权限其他不变
chmod o+wx aaa.txt
对其他用户加上可写可执行权限其他不变
chmod u-w, g=wx, o-r b.log
chmod 777 文件名 文件名赋予权限777权限
chmod u(g/o) = rwx 文件名 给文件赋予u/g/o=777其他保持不变
chmod u(g/o) +(-) (r/w/x) 文件名 给文件赋予u/g/o 增加或者减少权限
组合使用
chmod -R 777 文件夹 递归赋予777权限