文章目录
1. ls
英文释义
ls list directory contents
语法
ls [选项] [目录或文件]
功能
如果是目录,列出目录下的所有子目录和文件。(如果没有指定目录,默认列出当前目录)
如果是文件,列出文件名和其他的信息。
常用的选项
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)
ls -l
列出当前目录下的子目录和文件的详细信息
[root@txf ~]# ls -l
total 0
drwxr-xr-x 3 root root 66 Jul 9 16:27 dev
drwxr-xr-x 2 root root 40 Jul 9 15:30 tmp
ll
因为
ls -l
这个命令用的很多,所以这个命令被单独拎了出来,可以简写为ll
ls -d [目录]
列出目录的信息而不是列出子目录和目录下的文件
[root@txf ~]# ls -d tmp
tmp
命令中的选项是可以组合的,比如要列出目录信息,并且要详细地列出来,就可以使用ls -dl tmp
[root@txf ~]# ls -dl tmp
drwxr-xr-x 2 root root 40 Jul 9 15:30 tmp
ls -lk
以字节为单位列出文件的大小
[root@txf ~]# ls -lk tmp/
total 8
-rw-r--r-- 1 root root 6 Jul 9 11:48 data2.txt
-rw-r--r-- 1 root root 44 Jul 9 12:15 test2.txt
ls -lt
以时间排序目录下的内容
[root@txf ~]# ls -lt tmp/
total 8
-rw-r--r-- 1 root root 44 Jul 9 12:15 test2.txt
-rw-r--r-- 1 root root 6 Jul 9 11:48 data2.txt
ls -a
列出包括子目录和文件(包括以
.
开头的隐含文件)
[root@txf ~]# ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc .cache .cshrc dev .mysql_history .pip .pydistutils.cfg .ssh .tcshrc tmp .viminfo
使用选项-1(数字1)
可以将每个文件或目录用一行来显示,这样好看一点。
[root@txf ~]# ls -a1
.
..
.bash_history
.bash_logout
.bash_profile
.bashrc
.cache
.cshrc
dev
.mysql_history
.pip
.pydistutils.cfg
.ssh
.tcshrc
tmp
.viminfo
ls 还有很多种用法,掌握一些平时常用的就行了
2. pwd
命令含义
pwd - print name of current/working directory
语法
pwd [选项]
功能
显示用户当前所在的目录
命令使用
[root@txf ~]# pwd
/root
3. cd
命令含义
cd - change directory
语法
cd 目录名
功能
切换到指定的目录下
目录小知识
Linux文件系统:
/ 表示根目录
. 表示当前目录
.. 表示上一级目录
- 表示最近访问的目录
~ 表示用户的主目录
在Linux中,~符号通常表示当前用户的主目录(home directory)。
每个用户在Linux系统上都有一个独立的主目录,用于存储个人文件和配置。
主目录的路径通常是/home/username,其中username是当前用户的用户名。
命令的使用
cd ..
切换到上一级目录
[root@txf ~]# pwd
/root 当前在root目录下
[root@txf ~]# cd ..
[root@txf /]# pwd
/ 切换到了根目录下
4. cat
英文全称
cat - concatenate
语法
cat [选项] [文件]
功能
查看目标文件的内容
常用的选项
-n 对输出的所有行编号
命令的使用
tmp/data2.txt有hello这个单词,用cat命令查看data2.txt的内容,并对输出的行编号。
如下:
[root@txf ~]# cat -n tmp/data2.txt
1 hello
5. echo
命令含义
echo 回显
语法
echo [选项] [字符串]
功能
回显字符串到标准输出
例子
- 输出hello, world
[root@txf ~]# echo hello, world
hello, world
- 输出重定向到文件中
[root@txf ~]# echo I want to eat hotpot > hotpot.txt
[root@txf ~]# cat hotpot.txt
I want to eat hotpot
注意:这里的字符串加不加双引号都可以。
6. mkdir
命令含义
mkdir - make directory
语法
mkdir [选项] 目录名
功能
根据目录名,在当前目录下创建指定的目录
常用的选项
-p 或--parents
此时若路径中的某些目录尚不存在,加上此选项后,系统将
自动建立好那些尚不存在的目录,即一次可以建立多级目录
命令使用
- 在当前目录创建,
a
,b
,c
目录
[root@txf ~]# mkdir a b c
[root@txf ~]# ls -1
a
b
c
dev
hello.txt
hotpot.txt
tmp
- 创建
d/e/f
目录
[root@txf ~]# mkdir d/e/f
mkdir: cannot create directory ‘d/e/f’: No such file or director
注意: 创建多级目录要加-p
选项
[root@txf ~]# mkdir -p d/e/f
7. rm
英文全称
rm - remove
语法
rm [选项] [目录/文件]
功能
删除文件或目录
常用的选项
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
命令使用
- 强制删除目录
强制删除a
目录
[root@txf ~]# rm -f a
rm: cannot remove 'a': Is a directory
[root@txf ~]# rm -rf a
#删除前
drwxr-xr-x 2 root root 6 Jul 22 22:24 a
drwxr-xr-x 2 root root 6 Jul 22 22:24 b
drwxr-xr-x 2 root root 6 Jul 22 22:24 c
drwxr-xr-x 3 root root 15 Jul 22 22:27 d
drwxr-xr-x 3 root root 66 Jul 9 16:27 dev
-rw-r--r-- 1 root root 13 Jul 22 22:14 hello.txt
-rw-r--r-- 1 root root 21 Jul 22 22:11 hotpot.txt
drwxr-xr-x 2 root root 40 Jul 9 15:30 tmp
#删除后
drwxr-xr-x 2 root root 6 Jul 22 22:24 b
drwxr-xr-x 2 root root 6 Jul 22 22:24 c
drwxr-xr-x 3 root root 15 Jul 22 22:27 d
drwxr-xr-x 3 root root 66 Jul 9 16:27 dev
-rw-r--r-- 1 root root 13 Jul 22 22:14 hello.txt
-rw-r--r-- 1 root root 21 Jul 22 22:11 hotpot.txt
drwxr-xr-x 2 root root 40 Jul 9 15:30 tmp
注意:删除目录要加-r
选项,因为目录下可能有子目录或者文件
- 删除目录前,询问用户
删除b
目录,并且在删除前询问用户
[root@txf ~]# rm -ri b
rm: remove directory 'b'? y
[root@txf ~]#
rm: remove directory 'b'?
是询问信息
y
是用户的输入,表示同意删除,n
表示不同意删除。
8. cp
命令含义
cp - copy files and directories
语法
cp [选项] 源文件或目录 目标文件或目录
功能
复制文件或目录
常用的选项
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。
若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理
命令使用
- 现有
data.txt
文件,将其复制到resources
目录下。
[root@txf ~]# cp data.txt resources/
[root@txf ~]# ls -a resources/
. .. data.txt
- 现有
a
目录,将其复制到resources
目录下。
[root@txf ~]# cp -r a/ resources/
[root@txf ~]# ls resources/
a data.txt
注意:复制目录一定要加-r
选项,因为目录下可能有子目录和文件。
9. mv
命令含义
mv - move (rename) files
语法
mv [选项] 源文件或目录 目标文件或目录
功能
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移
至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目
录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源
文件均移至目标目录中。
常用的选项
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
命令使用
- 移动文件到目录中
现有data.txt
将文件移动到myfile
目录下面
[root@txf ~]# mv data.txt myfile/
[root@txf ~]# ls myfile/
data.txt
- 重命名文件
将myfile
目录下的data.txt
文件重命名为data2.txt
[root@txf ~]# mv myfile/data.txt myfile/data2.txt
[root@txf ~]# ls myfile
data2.txt
- 重命名目录
将myfile
目录改名为`mydatafile````linux
- 移动目录
将mydatafile
移动到tmp
目录中
10. man
语法
man [选项] 命令
功能
查看联机手册
常用的选项
-k 或 --apropos:根据关键字搜索联机帮助
-f 或 --whatis:显示命令的简短描述
num 只在第num章节找
man man 能够看到 man 手册中的若干个章节及其含义
使用
- 查看
ls
命令的用法
[root@txf ~]# man ls
- 查看
cat
命令的用法,显示命令的简短描述
[root@txf ~]# man -f cat
cat (1) - concatenate files and print on the standard output
cat (1p) - concatenate and print files
11. vim
vim
是一个编辑器,类似于windows
上的记事本,不过它的功能更加强大。
不过在初学阶段,学习vim
的几个基本操作就行了:用vim
创建文件,编辑文件,保存文件。
1. 创建/打开文件
vim [文件名]
用vim
创建data.txt
文件
[root@txf ~]# vim data.txt
创建完成之后界面变成下面这个样子,这是普通模式,
这个时候千万不要乱按,按i
并不是在文件中输入i
, 而是进入插入模式,其他按键有其他的模式。
2. 进入插入模式
vim
打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键
(例如按下 j
并不是输入字母 "j"
, 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑.
使用i
键可以进入到插入模式. (左下角提示 --INSERT--
) 然后就可以像记事本一样正常编辑了。
写一个hello, world
。
3. 保存
在插入模式下不能保存文件, 需要先回到 普通模式 . 按下Esc
回到普通模式.
在普通模式下输入:w
, 再按下回车, 即可保存文件.
4. 退出
在插入模式下不能退出, 需要先回到 普通模式. 在普通模式下输入 :q
, 再按下回车
, 即可退出.
退出后:
5.保存和退出合并
输入:wq
,按回车,可以把保存并且退出。
w
就是write
q
就是quit
12. grep
英文全称
Global Regular Expression Print
语法
grep [选项]... pattern [文件]...
pattern
可以是要查找的字符串,也可以是正则表达式
功能
用于查找文件中是否包含指定字符串, 并显示对应的行.
常用的选项
-n <行数> 显示的行数
-w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
-r 递归查找. 可以搜索多级目录下的所有文件.
--color 高亮查找到的结果
--include 指定查找某些文件
--exclude 指定排除某些文件
命令使用
-
在
data.txt
中查找hello
字符串,并高亮显示
-
在data.txt中查找
abc
字符串,高亮显示,并且显示行号
13. ps
命令英文释义和解释
report a snapshot of the current processes.
报告当前进程的快照。
语法
ps [参数]...
功能
用于查看当前系统上运行的进程
常用的选项
a 显示一个终端的所有进程
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分
常见用法
- 显示系统上所有的进程
ps aux
- 用管道符
|
跟grep
命令结合,查找进程
ps aux | grep "进程名"
ps aux | grep "进程id"
解释:这个命令先查出所有的进程,再用grep
命令查找对应的进程。
比如:搜索mysql
进程
14. netstat
语法
netstat [选项]...
功能
查看系统上的网络状态.
常用的选项
-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机、端口或用户名
-p 显示套接字所属进程的PID和名称
使用
netstat -anp
[root@txf ~]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1404/sshd
tcp 0 0 172.31.133.226:33692 100.100.30.25:80 ESTABLISHED 1442/AliYunDun
tcp 0 36 172.31.133.226:22 120.86.34.46:7269 ESTABLISHED 1186259/sshd: root
tcp 0 0 172.31.133.226:51230 100.100.0.5:443 TIME_WAIT -
tcp6 0 0 :::3306 :::* LISTEN 304499/mysqld
tcp6 0 0 :::8080 :::* LISTEN 227517/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 227517/java
udp 0 0 127.0.0.1:323 0.0.0.0:* 753/chronyd
udp 0 0 0.0.0.0:68 0.0.0.0:* 1127/dhclient
udp6 0 0 ::1:323 :::* 753/chronyd
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 18947 1/systemd /run/lvm/lvmpolld.socket
unix 2 [ ACC ] STREAM LISTENING 13524069 304499/mysqld /var/lib/mysql/mysql.sock
unix 2 [ ACC ] SEQPACKET LISTENING 18961 1/systemd /run/udev/control
......
......
2.用管道符|
配合grep
命令,查找端口或者进程
netstat -anp | grep "进程名"
netstat -anp | grep "进程名"