Linux 常用的二十个命令
文章目录
ctrl + L
光标置顶,清空
Is
语法: ls
[选项[目录或文件]
功能:最高频使用的命令,罗列出当前目录中,都包含哪些文件.这个操作就好像Windows文件资源管理器一样.
常用选项:
●-a
列出目录下的所有文件,包括以.
开头的隐含文件。
●-d
将目录像文件一 样显示,而不是显示其下的文件。 如: ls -d servers
●k
以 k 字节的形式表示文件的大小。ls –alk 指定文件
●-l
列出文件的详细信息。
●-r
对目录反向排序。
●-t
以时间排序。
●-R
列出所有子目录下的文件。(递归)
举例:
平时使用ls
, 一般是使用ls -l
, 以列表的形式来显示内容 .ls -l
敲起来比较麻烦,还可以使用更简便的操作 ll
ls -l
的结果: 不同的颜色:不同的文件类型.
白色:普通文件
蓝色:目录.
绿色:可执行文件
红色:压缩包
pwd
语法: pwd
功能:显户当前所在的目录
举例:
cd
Linux系统中,磁盘上的文件和目录被组成一棵目录树, 每个节点都是目录或文件。
语法:cd
目录名
功能:改变工作目录。将当前I作录改变到指定的目录下.
举例:cd ..
: 返回上级目录
cd ~
:进入用户家目录
cd -
:返回最近访问目录
认识 Linux 目录结构
Linux 是一个树形目录结构.Linux
上没有C D盘这些盘符,然后也没有此电脑这个功能.Linux
的目录结构,是从/
(根目录)开始,构建出的一个树形结构.Linux
的/
根目录,就相当于windows
的"此电脑"
图中几个特殊的目录:/
称为根目录 .
称为当前目录 ..
称为当前目录的上级目录
这个cd /
就相当于你点击了windows
的"此电脑"
当前这里的/home/tz
这个目录,也是一个特殊的目录,叫做当前用户的“家目录" (home
目录) ,一个用户登录到这个主机上的默认的目录(root除外). 这里的用户名是tz
, home
目录就是/home/tz
如果你的用户名比如是zhangsan
,你的home
目录就是/home/zhangsan
**如果你的用户名是root
,你的home
目录,就是/root
**因为root
是Linux
上的特殊用户(管理员)
命令提示符
绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/
以/
根目录开头的, 称为绝对路径.
形如: ./logs
以 .
或者 ..
开头的, 称为相对路径.
基于绝对路径的方式来切换目录.输入目录的时候,可以使用tab
键来补全.基于绝对路径来切换,很多时候比较麻烦.还是相对路径比较简单.
使用 ctrl + c
重新输入 如果命令或者目录敲错了, 可以 ctrl + c
取消当前的命令.
touch
语法: touch
[选项]… 文件…
功能: touch
命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
举例:
cat
语法:cat
[选项] [文件]
功能: 查看目标文件的内容
常用选项: -n
对输出的所有行编号
echo
语法:echo
[选项] [文件]
功能: 写文件的内容
常用选项: echo
回音/回显可以把指定的字符串, 写入到对应的文件中.此处的>
操作称为"重定向"(HTTP也有重定向,就是呼叫转移).把本来要显示在控制台的内容给重定向到指定的文件中.
mkdir
语法:mkdir
[选项] dirname...
功能:在当前目录下创建一个名为 “dirname
”的目录,(所谓的目录就是日常所说的文件夹)
常用选项:
-p, --parents
可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录(mkdir –p test/test1
: 递归建立多个目录)
rm
语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录
常用选项:
-f
即使文件属性为只读(即写保护),亦直接删除
-i
删除前逐一询问确认
-r
删除目录及其下所有文件
rm
后面跟上文件名,就能删除掉指定的文件.
rm-r
目录名才能删除目录,
-r
表示递归,删除目录,其实删的不只是目录,还有目录里面包含的文件,以及子目录.加上-r
就会把这个目录以及目录下面所有的文件和子目录全都干掉!
重要注意事项: 千万不要运行 rm -rf /
, 尤其是在公司的生产服务器上. 或者是rm -r / data
一旦/
和data
之间有了空格,rm
就会认为你要删的是两个目录.一个是data
,一个是/
理解递归删除的过程:
cp
语法:cp
[选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp
指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
-f
或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i
或 --interactive 覆盖文件之前先询问用户
-r
递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
mv
语法: mv
[选项] 源文件或目录 目标文件或目录,mv
在移动/重命名目录的时候,不需要加上-r
功能:1. 视mv
命令中第二个参数类型的不同(是目标文件还是目标目录),mv
命令将文件重命名或将其移至一个新的目录中。
-
当第二个参数类型是文件时,
mv
命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。 -
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,
mv
命令将各参数指定的源文件均移至目标目录中。
常用选项
-f
:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i
:若目标文件 (destination) 已经存在时,就会询问是否覆盖!
man
Linux
的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
语法: man
[选项] 命令
常用选项
-k
根据关键字搜索联机帮助
num
只在第num
章节找
man man
能够看到 man
手册中的若干个章节及其含义.
less
语法: less
[参数] 文件
功能:查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找.
选项:
j k /
方向键: 向上向下滚动屏幕.
-N
显示每行的行号
/
字符串:向下搜索“字符串”的功能
n
:重复前一个搜索(与 / 或 ? 有关)
q
: 退出
head
语法:head
[参数]… [文件]…
功能:head
用来显示档案的开头至标准输出中,默认head
命令打印其相应文件的开头10行。
选项: -n
<行数> 显示的行数
tail
语法: tail
[必要参数] [选择参数] [文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
-f
循环读取
-n
<行数> 显示行数
less
在查看文件的时候,带有翻页功能.(less
只能进行文件的查看,不能进行文件的编辑)
less
最大的优势在于,能够对于大文件进行"秒开"
正常的一个编辑器(记事本)打开文件的时候,就是把文件内容都读到内存里这就涉及到大量的磁盘IO.如果文件很大(几个G),就会打开的很慢,甚至打开失败.
less
只是把当前屏幕显示的这一块给加载到内存中.随着翻页,随着加载新的部分(类似于懒汉模式)在服务器.上如果要打开一个大文件(很大的日志),使用less
就是一个明智的选择.
date
date 指定格式显示时间: date +"%Y-%m-%d %H:%M:%S"
date 用法:date [OPTION]… [+FORMAT]
- 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d - 时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
vim
vim
是一个知名的文本编辑器. 前面学习的 cat, less, head, tail
等命令只能查看文本, 不能编辑文本. 使用 vim
就可以进行编辑了.
vim
就相当于 Windows 的记事本. 只不过功能比记事本强大一些.
- 创建文件
/
打开文件
-
进入插入模式
vim
打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键. (例如按下j
并不是输入字母 “j”, 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑.
使用i
键可以进入到插入模式. (左下角提示--INSERT--
) 然后就可以像记事本一样正常编辑了. -
保存
在插入模式下不能保存文件, 需要先回到 普通模式 . 按下Esc
回到普通模式.在普通模式下输入 `:w , 再按下回车, 即可保存文件.
-
退出:
在插入模式下不能退出, 需要先回到 普通模式.在普通模式下输入
:q
, 再按下回车, 即可退出.
也可以直接使用:wq
同时执行保存和退出(推荐).
grep
语法:grep
[参数]… [文件]…
功能:用于查找文件中是否包含指定字符串, 并显示对应的行.
选项:
-n
<行数> 显示的行数
-w
全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
-r
递归查找. 可以搜索多级目录下的所有文件.
--color
高亮查找到的结果
--include
指定查找某些文件
--exclude
指定排除某些文件
ps
语法:ps
[参数]…
功能:用于查看当前系统上运行的进程
选项:
a
显示一个终端的所有进程
u
以用户为主的格式来显示程序状况
x
显示所有程序,不以终端机来区分
直接使用ps aux
,一下就全列出来了.如果我们只想关注其中的某个结果,实不好找.
使用ps
的时候通常会搭配|
,|
在Linux中叫做管道.功能就是把前一个命令的输出作为后一个命令的输入grep
命令相当于一个字符串匹配. 类似于记事本中的ctrl + f
功能.后面跟上的参数就是要查找的关键字.
不只是ps
.但凡是这种输入的内容很多的命令,都可以使用grep
进行筛选.
netstat
语法:netstat
[参数]…
功能:查看系统上的网络状态.
选项:
-a
显示所有正在或不在侦听的套接字
-n
显示数字形式地址而不是去解析主机、端口或用户名
-p
显示套接字所属进程的PID
和名称