Linux简单使用

Posted 晒太阳的雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux简单使用相关的知识,希望对你有一定的参考价值。

Linux简单使用

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 基本命令

下面为基本可以使用到的命令,只添加了一些常用的参数。

  1. cd:切换目录 cd /root
  2. mkdir:创建文件
  • mkdir /root/test //创建目录 需要保证root目录存在
  • mkrir -p /root/test // 循环创建目录
  1. touch:创建文本
  • touch /test.txt
  1. vim:文本编辑 , vim分为编辑模式和指令模式
  • 在指令模式下输入i进入编辑模式,Esc退出编辑模式到指令模式
  • 在指令模式下输入 ;q 为退出 :wq 为保存后退出 q! 为强制退出 :set nu 显示行号

 

 

  1. echo:打印内容 echo "this is out"

 

  1. cat:查看内容 cat 文件名
  2. cp:复制文件
  • cp test.txt /root/test // 赋值test到路径/root/test
  • cp -apr /root/test /root/testcopy // 拷贝目录
  1. pwd:查看当前路径

 

  1. mv:移动文件 mv test.sh /root/test
  2. rm:删除文件
  • rm test.txt // 删除这个文件
  • rm -fr /root/test // -r:删除这个目录 -f:没有提示信息,直接删除
  1. grep:筛选时候可以传递正则表达式
  • grep ‘test’ d* 显示所有以d开头的文件中包含 test的行。
  • grep ‘[a-z]\\{5\\}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
  1. head:显示文件头部的n行
  • head -n 5 log2014.log 显示前五行,默认为前10行
  1. tail:显示文件尾部的n行
  • tail -n 5 log2014.log 从尾打印 n 行 默认为10
  1. find:查找
  • 在find的结果可以通过管道来处理
  • find -name filename #查找名为filename的文件
  1. seq:打印n个数字
  • seq 1 5 从1 打印到5
  • seq 1 2 5 从1打印到5,步长为2
  • seq -s "z" 1 5 用z把1-5连起来 1z2z3z4z5

 

  1. 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 // 替换文件内容
  1. 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
  1. awk:擅长列的操作
  • awk -F "," \'{print $1}\' localhost.2017-10-12.log // 查找文件中,分割的第一列

 

以上是关于Linux简单使用的主要内容,如果未能解决你的问题,请参考以下文章

创建自己的代码片段(CodeSnippet)

[linux][c/c++]代码片段01

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

为啥这段代码会泄露? (简单的代码片段)

[linux][c/c++]代码片段02

如何使用Android片段管理器传递变量[重复]