一、文件和目录

1. cd命令

它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

指令 说明
cd /home 进入‘home’目录
cd .. 返回上一级目录

cd ../..

返回上两级目录
cd ~user1 进入个人的主目录
cd ~ 返回上次所在的目录

2. pwd命令

指令 说明
pwd 显示工作路径

3. ls命令

查看文件与目录的命令,list的意思。

指令 说明
ls 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 列出全部文件,包含隐藏文件
ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
ls [0-9] 显示包含数字的文件名和目录名

4. cp命令

用于复制文件,copy之意,它还可以把多个文件一次性复制到一个目录下。

指令 说明
cp -a 将文件的特性一起复制
cp -p 连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
cp -i 若目标文件已经存在,在覆盖前会先询问操作的进行
cp -r 递归持续复制,用于目录的复制行为
cp -u 目标文件与源文件有差异时才会复制

5. mv命令

用于移动文件、目录或更名,move之意。

指令 说明
-f force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i 若目标文件已经存在,就会询问是否覆盖
-u 若目标文件已经存在,且比目标文件新,才会更新

6. rm命令

用于删除文件或目录,remove之意。

指令 说明
-f 就是force的意思,忽略不存在的文件,不会出现警告消息
-i 互动模式,在删除前会询问用户是否操作
-r 递归模式,最常用于目录删除,它是一个非常危险的参数

二、查看文件内容

7. cat命令

用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用。

指令 说明
cat file1 从第一字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
cat -n file1 标示文件的行数
more file1 查看一个长文件的内容
head -n 2 file1 查看一个文件的前两行
tail -n 2 file1 查看一个文件的最后两行
tail -n +1000 file1 从1000行开始显示,显示1000行以后的
cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行
cat filename | tail -n +3000 | head -n 1000 从3000行开始,显示1000行,即显示3000-3999行

三、文件搜索

8. find命令

指令 说明
find / -name file1 从‘/’开始进入根文件系统搜索文件和目录
find / -user uesr1 搜索属于用户‘user1’的文件和目录
find /usr/bin -type f -atime +100 搜索过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
find /var/mail/ -size +50M -exec rm {} \ 删除大于50M的文件

四、文件的权限——使用“+”设置权限,使用“-”取消权限

9. chmod命令

指令 说明
ls -lh 显示权限
chmod ugo+rwx directory1

设置目录的所有人(u)、群组(g)以及其他人(o)以读(r,4)、写(w,2)和执行(x,1)的权限

chomd go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限

10. chown命令

改变文件的所有者。

指令 说明
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变该目录下所有文件的属性
chown user1:group1 file1 改变一个文件的所有人和群组属性

11. chgrp命令

改变文件所属用户组。

指令 说明
chgrp group1 file1 改变文件的群组

五、文本处理

12. grep命令

分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等。

指令 说明
grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"
grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇
grep [0-9]  /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"
sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"
sed '/^$/d' example.txt 从example.txt文件中删除所有空白行

13. paste命令

指令 说明
paste file1 file2 合并两个文件或两栏的内容
paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分

14. sort命令

指令 说明
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)

15. comm命令

指令 说明
comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

六、打包和压缩文件

16. tar命令

对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。

指令 说明
-c 新建打包文件
-t 查看打包文件的内容含有哪些文件名
-x 解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j 通过bzip2的支持进行压缩/解压缩
-z 通过gzip的支持进行压缩/解压缩
-v 在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename filename为要处理的文件
压缩 tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询 tar -jtv -f filename.tar.bz2
解压 tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包
zip file1.zip file1 创建一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

七、系统和关机(系统的关机、重启以及登出)

17. shutdown命令

指令 说明
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
time 测算一个命令(即程序)的执行时间

八、进程相关的命令

18. jps命令

显示当前系统的java进程情况,及其id号。
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

19. ps命令

用于将某个时间点的进程运行情况选取下来并输出,process之意。

指令 说明
-A 所有的进程均显示出来
-a 不与terminal有关的所有进程
-u 有效用户的相关进程
-x 一般与a参数一起使用,可列出较完整的信息
-l 较长,较详细地将PID的信息列出
ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态

20. kill命令

用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用。

21. killall命令

向一个命令启动的进程发送一个信号。

22. top命令

是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

如何杀死进程:
(1)图形化界面的方式
(2)kill -9 pid  (-9表示强制关闭)
(3)killall -9 程序的名字
(4)pkill 程序的名字

查看进程端口号:
netstat -tunlp|grep 端口号

九、普通文件和目录文件的区别

9.1 文件的类型

  Linux下面一切皆文件,配置是文件,设备是文件,目录也是特殊的文件,文件有如下几种:

  • d:目录文件的标识是,
  • -:普通文件标识,
  • l:软连接文件,亦称符号链接文件;
  • b,块文件,是设备文件的一种(还有另一种),b是block的简写。
  • c,字符文件,也是设备文件的一种,c是character的文件。

9.2 普通文件和目录文件

普通文件:存储普通数据,一般就是字符串。
目录文件:存储了一张表,该表就是该目录文件下,所有文件名和inode的映射关系。

9.3 权限的区别

对于普通文件来说,rwx的意义是:
r:可以获得这个普通文件的名字和内容。
w:可以修改这个文件的内容和文件名。可以删除该文件。
x:该文件是否具有被执行的权限。

对于目录文件来说,rwx的意义是:
r:表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名。 就可以利用 ls 这个命令将该目录的内容列表显示出来, 必须这个目录有x的权限,才可以进入这个目录。
w:移动该目录结构列表的权限(建立新的文件与目录、删除已经存在的文件与目录、更名、移动位置)。
x:目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录。

Linux命令之常用篇的更多相关文章

  1. linux 命令行常用快捷键

    linux命令行常用快捷键,区别于vim编辑器快捷键.熟练掌握下面的快捷键可提高操作linux的工作效率.当然最重要的是可以装屌. 1.移动光标快捷键Ctrl+a光标回到命令行首* Ctrl+e光标回 ...

  2. 软件测试从业者必备的Linux命令(完整篇)

    观点: 关于Linux,测试从业者,看这篇文章就够了 . 具体,往下看 : 网上关于Linux资料太多.太杂,学习没有重点,特别是对于没有基础的从业者,期望通过那些文档,去自学掌握Linux,可能性太 ...

  3. Linux命令【第一篇】

    1.创建一个目录/data 记忆方法:英文make directorys缩写后就是mkdir. 命令: mkdir /data 或 cd /;mkdir data #提示:使用分号可以在一行内分割两个 ...

  4. 【转载】Linux命令行常用光标移动快捷键

    声明:下面内容来自:http://www.linuxidc.com/Linux/2016-10/136027.htm, 来源:linux社区  作者:aslongas 我转载于此处,为了作个笔记,方便 ...

  5. Linux命令行常用光标移动快捷键

    Linux 命令行快捷键 涉及在Linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. 常用 ctrl+左右键:在单词之间跳转 ct ...

  6. linux命令行常用光标移动快捷键(转)

    转自:https://www.cnblogs.com/aslongas/p/5899586.html Linux 命令行快捷键 涉及在linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令. ...

  7. 测试常用linux命令之sed篇

    一.sed命令 可以放在单独的脚本文件中执行:sed -f script1 data1 多条命令也可以用{}括起来 sed可以进行文本的替换,删除,行添加,打印等.采用 sed [address]{c ...

  8. Linux命令大全----常用文件操作命令

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka ls 这个命令是经常用到的,用来显示当前目录下有哪些文件 ,ls最常用的参数有三个: -a - ...

  9. 【Linux命令】常用系统工作命令11个(echo、date、reboot、poweroff、wget、ps、top、pidof、kill、killall、pkill)

    目录 echo命令 date命令 reboot命令 poweroff命令 wget命令 ps命令 top命令 pidof命令 kill命令 killall命令 pkill命令 一.echo命令 ech ...

随机推荐

  1. windows 无法启动网络发现

    1.先启动三个服务,按顺序启动(有依存关系),都改为自启动 Function Discovery Resource Publication SSDP Discovery UPnP Device Hos ...

  2. vi/vim 添加或删除多行注释

    进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)    移动光标上移或者下移,选中多行的开头,如下图所示   选择完毕后,按大写的的I键,此时下方会提示进入“inser ...

  3. Struts第一个案例搭建

    1.引入依赖 <dependency> <groupId>javaee</groupId> <artifactId>javaee-api</art ...

  4. xpath无法获取值、返回值为[]或者{}的问题解决

    最近用xpath,刚开始有很多问题 用测试代码跑的时候经常获取不到值. 第一种情况: page= etree.parse('text.html') #text.html为一个html文件 <cl ...

  5. 【TensorFlow篇】--Tensorflow框架初始,实现机器学习中多元线性回归

    一.前述 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,T ...

  6. Docker 搜索镜像

    文章首发个人网站: https://www.exception.site/docker/docker-search-image 本文中,您将学习 Docker 如何搜索镜像? 一.search 命令 ...

  7. 多元线性回归公式推导及R语言实现

    多元线性回归 多元线性回归模型 实际中有很多问题是一个因变量与多个自变量成线性相关,我们可以用一个多元线性回归方程来表示. 为了方便计算,我们将上式写成矩阵形式: Y = XW 假设自变量维度为N W ...

  8. 使用FsCheck编写Property-based测试

    使用FsCheck编写Property-based的测试 在编写基于Property-based的单元测试一文中,我们介绍了什么是Property-based测试.同时我们也总结了Property-b ...

  9. DS控件库 Win7链接列表框效果1:右侧箭头

    Win7链接列表框是仿Windos7开始菜单项开发的控件,同样支持右侧箭头,由于使用场合的不同,本控件中右键箭头不作为菜单扩展,而是通过事件触发式响应. 先上图 代码很简单,点击对右侧箭头区域点击的响 ...

  10. 【转载】SQL语句将一个表的数据写入到另一个表中

    在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select ...