Linux常用命令

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 [选项] [字符串]

功能

回显字符串到标准输出

例子

  1. 输出hello, world
[root@txf ~]# echo hello, world
hello, world

  1. 输出重定向到文件中
[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 
此时若路径中的某些目录尚不存在,加上此选项后,系统将
自动建立好那些尚不存在的目录,即一次可以建立多级目录

命令使用

  1. 在当前目录创建, a, b, c目录
[root@txf ~]# mkdir a b c
[root@txf ~]# ls -1
a
b
c
dev
hello.txt
hotpot.txt
tmp
  1. 创建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 删除目录及其下所有文件

命令使用

  1. 强制删除目录

强制删除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选项,因为目录下可能有子目录或者文件

  1. 删除目录前,询问用户

删除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       递归处理,将指定目录下的文件及子目录一并处理 

命令使用

  1. 现有data.txt文件,将其复制到resources目录下。
[root@txf ~]# cp data.txt resources/
[root@txf ~]# ls -a resources/
.  ..  data.txt
  1. 现有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) 已经存在时,就会询问是否覆盖!

命令使用

  1. 移动文件到目录中

现有data.txt将文件移动到myfile目录下面

[root@txf ~]# mv data.txt myfile/
[root@txf ~]# ls myfile/
data.txt
  1. 重命名文件

myfile目录下的data.txt文件重命名为data2.txt

[root@txf ~]# mv myfile/data.txt myfile/data2.txt
[root@txf ~]# ls myfile
data2.txt
  1. 重命名目录

myfile目录改名为`mydatafile````linux

在这里插入图片描述

  1. 移动目录

mydatafile移动到tmp目录中
在这里插入图片描述

10. man

语法

man [选项] 命令

功能

查看联机手册

常用的选项

-k 或 --apropos:根据关键字搜索联机帮助
-f 或 --whatis:显示命令的简短描述
num 只在第num章节找
man man 能够看到 man 手册中的若干个章节及其含义

使用

  1. 查看ls命令的用法
[root@txf ~]# man ls

在这里插入图片描述

  1. 查看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	指定排除某些文件

命令使用

  1. data.txt中查找hello字符串,并高亮显示
    在这里插入图片描述

  2. 在data.txt中查找abc字符串,高亮显示,并且显示行号
    在这里插入图片描述

13. ps

命令英文释义和解释

report a snapshot of the current processes.
报告当前进程的快照。

语法

ps [参数]...

功能

用于查看当前系统上运行的进程

常用的选项

a 显示一个终端的所有进程
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分

常见用法

  1. 显示系统上所有的进程
ps aux   
  1. 用管道符|grep命令结合,查找进程
ps aux | grep "进程名"
ps aux | grep "进程id"

解释:这个命令先查出所有的进程,再用grep命令查找对应的进程。

比如:搜索mysql进程
在这里插入图片描述

14. netstat

语法

netstat [选项]...

功能

查看系统上的网络状态. 

常用的选项

-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机、端口或用户名
-p 显示套接字所属进程的PID和名称

使用

  1. 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 "进程名"

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值