命令学习:
mkdir:创建目录
mkdir a b a/a1 a/a2 b/b1 b/b2
mkdir -p a/a1 : 如果没有a文件夹,有这个参数就会创建
/home/briup/b: 第一个/代表根目录;其他的代表目录之间的分隔符
ls --help:显示命令提示信息
ls -a: 显示隐藏文件夹
ls -l -a : 显示隐藏文件夹,同时显示详细信息
ls /etc: 从当前路径直接查看其他路径的下的文件
*****元字符: ? * [] ; > < >> << (任何命令都是可以加如元字符)
ls a?? : 以a开头的,且长度为3
ls a* : 以a开头,后面无限个字符
ls *a* : 中间包含a的文件
more /etc/*pass*
ls ?? : 任意两个字符
ls a[12] : 文件头为a,第二个字符只能从1,2中选
pwd;ls : 同时执行两个命令
手动换行:(\回车 注意要加空格,否则是:lsa1a2)
ls 空格 \ 回车
a1 空格 \ 回车
a2 空格 回车
> : 把输出流的目的地转换到一个文件中
pwd > a.txt : 把pwd应该在控制台显示的东西,输出到a.txt中
more /etc/passwd > b.txt : 如果没有b.txt,会自动创建
cal 7 2019 > b.txt : 会把以前的内容覆盖掉,如果不想覆盖,要用>>进行追加
cal 6 2019 >> b.txt ; \
cal 7 2019 >> b.txt : 将6,7月的日历追加到b.txt
< : 把文件里的东西输入到命令,相当于给命令一个参数;将文件作为命令输入
| : 管道连接;把上一个命令的结果,当作下一个命令的输入
ls -l /etc | more : 将ls -l /etc 的结果,当作more的输入
ctrl+h: 图形界面显示隐藏文件夹(以.开头的);再次按就可以继续隐藏
./abc: 运行abc这个文件(得有x权限)
rwx: r:读(4)100 w:写(2)010 x:执行(1)001
- rwx rwx rwx : 第一位是文件类型;第一个rwx代表文件创建者(u)的权限;第二个代表同组人(g)的权限;第三个代表其他人(o)
7种文件类型 :- : 常规文件
d : 目录文件
l : 链接文件(类似windows中的快捷方式)
不常见:
c : 字符设备文件(对应一个外围设备)
b : (块设备文件)(网络设备(不对应到文件))
p : (pipe) 管道文件 (一般见不到)
s : (socket)套接字文件
注:p、s两种文件是为了解决进程间进行通信的文件
chmod u+x abc : 为abc的文件创造者(u就代表文件创造者)授予可执行(x)的权限
chmod g-rwx abc : 将小组的权限去掉
chmod 400 abc : 给创建者增加读的权限
chmod 777 abc : 赋满权限
底层执行: 将用户原有的权限转化为二进制与他所要执行的操作的二进制进行&与运算,来判断用户是否有该权限
例如:0000 0011 & 0000 0001 = 0001 代表当前用户有wx权限,他要进行执行的操作,运算结果表明可以进行执行操作
touch: 创建文件
touch a.txt : 第一次为创建,第二次再输入这个命令就会更新信息,例如时间,字节大小等等:(注:文件夹如果存在,就不可以用再创建了)
touch b.txt c.txt a/a.txt
cp -r a test3/ : 将a文件夹复制到test3中(注意:/可以不加,只是为了自己清楚这是个文件夹)
cp abcd test1 : 将abcd文件复制到test1
cp -i a/a.txt : 如果a下已经有a.txt,那么加入这个参数会问是否要覆盖,y与n
cp a* test1 : 把a系列的文件全部移动到test1中
mv :移动或者重命名
mv abcd aaa : 把abcd移动到aaa;本来没有aaa这个文件也可以,相当于给abcd重命名为aaa
mv /etc/readme /home/briup/ : 将readme文件,移动到后面这个目录下
rm : 删除文件、目录
rm a.txt b.txt : 删除文件
rm -r abc : 删除目录
rm -i aaa : 删除既有文件或目录前先询问用户
man : 用来查看命令手册的
man ls : 看ls命令的提示信息
cal : 默认显示当前月的日历
cal 2019 : 2019全年日历
cal 6 2019 : 2019年6月
tar -zcvf my.tar.gz ./*.txt : 将后缀为.txt的文件归档压缩到my.tar.gz
tar -zxvf my.tar.gz : 将该压缩包进行解压
tar -zxvf my.tar.gz -C test1/ : 将压缩包的东西解压到test1下
cat : 一次性将文件内容都显示出来;与more对比:不会出现显示了%多少了
cat /dev/null > b.txt
cat /etc/passwd | awk -F: '{print $1 "\t" $6}' | sort > ~/userinfo : cat显示文件的内容通过管道传给awk进行行处理,处理好的数据通过管道传输给sort进行排序,最后将排好序的内容写入userinfo中
awk : 可以帮助处理文件的内容,一行一行的处理
-F : 表示使用:分割
head [-n] 文件名 :看文件的前几行
head 文件名 : 默认显示前10行
tail [-n] 文件名 :看文件的后几行
vi中显示行号:esc进入命令模式-->输入::set nu (number) 隐藏行号::set nonu
vi的三种模式 :
命令模式:默认
编辑模式:命令模式下输入:i
底行模式:命令模式下输入::(按键shift + :)
保存退出::wq
强制退出::q!(已修改但不保存的情况)