1.基本命令
创建目录pathA:mkdir pathA
进入目录pathA:cd pathA
查看目录内容:ls
查看目录下文件的详细信息:ls -l,也可以是:ll(l是小写的L,别看错了)
拷贝文件fileA到目录pathA(同层目录前提):cp fileA pathB
拷贝目录pathA(包括目录下的所有)到目录pathB(同层目录前提):cp -r pathA pathB
删除文件fileA:rm fileA
删除目录pathA(包括目录里面的所有):rm -r pathA
移动/usr/test目录下的所有到当前目录中:mv /usr/test/* .
将pathA以gzip压缩打包:tar zcvf pathA.tar.gz pathA
解压pathA.tar.gz:tar zxvf pathA.tar.gz
为fileA建立软连接slFileA:ln -s fileA slFileA(l是小写的L,别看错了)
为fileA建立硬连接hlFileA:ln fileA hlFileA
查看所有进程:ps -aux
杀死某个进程(用进程ID来指定进程):kill -9 进程ID
刷新显示fileA的末尾内容(实际工作中用于动态查看日志):tail -f fileA
清空fileA(比如清空日志文件):truncate -s 0 fileA
2.文件权限
查看当前目录下的权限相关信息:ls -l
输出的第一个字段是描述文件和目录权限的编码。
该字段的第一个字符宝石文件类型:
- 代表文件
d 代表目录
l 代表链接
c 代表字符型设备
b 代表块设备
n 代表网络设备
之后的三个字符定义了3种访问权限:
r 代表文件可读
w代表文件可写
x代表文件可执行
访问权限一共分为三组,一组三个字符(rwx),若没有某种权限就用“-”表示。第一组规定对象的属主,第二组规定对象的属组,第三组规定系统其它用户。
例子:对readme.txt文件的属主赋予可读可写,其它赋予只读权限:chmod 644 readme
3.Vim简单使用
查看fileA文件:vim fileA
编辑fileA文件:vim fileA ---> Insert键 ---> 移动光标到需要编辑的地方进行编辑 ---> 编辑结束按Esc键结束编辑
保存并退出编辑fileA:shift键+; ---> wq ---> Enter键
放弃之前的修改并退出:shift键+; ---> !q ---> Enter键
自由复制:v ---> 移动鼠标选择需要复制的内容(起点是光标起始位置) ---> y
复制一行:yy
全部复制:gg ---> v ---> shift键+g ---> y
自由剪切:v ---> 移动鼠标选择需要复制的内容(起点是光标起始位置) ---> d
粘贴:p
查找test:在vim中输入命令:/test(再按n查找下一个,按N向上查)
Linux 基本命令
下面为基本可以使用到的命令,只添加了一些常用的参数。
- cd:切换目录
cd /root
- mkdir:创建文件
mkdir /root/test
//创建目录 需要保证root目录存在mkrir -p /root/test
// 循环创建目录
- touch:创建文本
touch /test.txt
- vim:文本编辑 , vim分为编辑模式和指令模式
- 在指令模式下输入i进入编辑模式,Esc退出编辑模式到指令模式
- 在指令模式下输入
;q
为退出:wq
为保存后退出q!
为强制退出:set nu
显示行号
- echo:打印内容
echo "this is out"
- cat:查看内容
cat 文件名
- cp:复制文件
cp test.txt /root/test
// 赋值test到路径/root/testcp -apr /root/test /root/testcopy
// 拷贝目录
- pwd:查看当前路径
- mv:移动文件
mv test.sh /root/test
- rm:删除文件
rm test.txt
// 删除这个文件rm -fr /root/test
// -r:删除这个目录 -f:没有提示信息,直接删除
- grep:筛选时候可以传递正则表达式
grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。grep ‘[a-z]{5}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
- head:显示文件头部的n行
head -n 5 log2014.log
显示前五行,默认为前10行
- tail:显示文件尾部的n行
tail -n 5 log2014.log
从尾打印 n 行 默认为10
- find:查找
- 在find的结果可以通过管道来处理
find -name filename #查找名为filename的文件
- seq:打印n个数字
seq 1 5
从1 打印到5seq 1 2 5
从1打印到5,步长为2seq -s "z" 1 5
用z把1-5连起来1z2z3z4z5
- sed:擅长行的操作
sed -n /a/p t.txt
// 过滤输出指定内容-n
// 只输出过滤结果/a
// 过滤规则(包含a)/p
// 输出sed -n 20,30p t.txt
// 取20-30行输出sed -i s#aaa#goo#g t.txt
// 将t.txt内的aaa替换为goo,-i
// 替换文件内容
- xargs:xargs竟然配合通道进行一些文件的操作, 例如
find -type f -name "*.log"|xargs -i rm {}
删除所有的log类型的文件
-i
:参数直接用 {}就能代替管道之前的标准输出的内容find -type f -name "*.log"|xargs -i rm {}
-I
:参数需要事先指定替换字符find -type f -name "*.log"|xargs -I {c} rm {c}
find / -type f -name "t.txt"|xargs -i sed s#aa#mmmmm#g
// 将所有名字为t.txt的文件中内容为aa改为mmmmm
- awk:擅长列的操作
awk -F "," '{print $1}' localhost.2017-10-12.log
// 查找文件中,分割的第一列