欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > linux 基本命令

linux 基本命令

2025/2/10 19:23:01 来源:https://blog.csdn.net/a20040518/article/details/145471719  浏览:    关键词:linux 基本命令
1.cat

cat -n file 查看文件内容,带行号

cat file1 file2 file3... 将多个文件的内容连接起来,并在终端显示

cat file1 file2 > combined_file 将多个文件合并成一个新文件

cat > newfile 可以用来创建新文件并输入内容(通过重定向 >),执行后,你可以开始输入内容。当你输入完内容后,按 Ctrl + D 结束输入并保存到 newfile

cat file1 >> file2 将 file1 内容追加到 file2 末尾

2.echo 输出变量值或输出字符串到终端或文件

echo $变量

echo "hello" > example.txt

3.mkdir 创建文件夹

创建一个文件夹:mkdir filename

创建多个文件夹:mkdir filename1 filename2 filename3...

创建有所属关系的文件夹:mkdir filename1/filename2/filename3... -p,其中 -p 可以自动创建不存在的父目录,并且在目标目录已经存在时不会报错。

4.ls

ls 查看当前路径下有哪些文件

ls -l 查看文件和目录的详细信息

ls -a 列出全部文件,包括隐藏文件(linux 下以 . 开头的文件为隐藏文件)

ls -al 查看隐藏文件在内的所有文件信息

ls -R 查看文件夹下的文件(包括文件夹)tree 同 ls -R,但文件所属关系更清晰

5.cd 切换当前目录

cd + 想去的路径

cd / 返回根目录

cd /home 进入'/home'目录

cd .. 返回上一级目录

cd ../.. 返回上两级目录

cd - 返回上次所在的目录

6.touch 创建文件(可创建一个或多个)
7.pwd 输出当前所在的路径
8.whoami 查看当前登录用户
9.which + 命令 查看命令所在路径

例:which cat 显示 cat 所在路径

10.cp 

-a 表示完整地复制目录和文件

-r 递归持续复制,用于目录的复制行为

-u 目标文件与源文件有差异时才会复制

cp file1 file2 将file1内容复制到file2

cp -r dir1 dir2 将dir1目录内容复制到dir2

11.rmdir 删除文件夹(注文件夹须为空)
12.rm -rf 强制删除文件夹或文件(不会提示,直接全删)

rm -rf + 路径 删除指定路径下某个文件

13.mv 移动文件或文件夹

mv file dir 将文件移动到文件夹下(相当于剪切操作)

mv src_file dest_file 将 src_file 移动到 dest_file,相当于剪切操作,执行后,src_file将不存在。

14.tar cvf dir.tar dir 针对 tar 包,压缩
15.tar xvf dir.tar dir 针对 tar 包,解压缩
16.umask 是一个四位八进制数字,通常用来设置文件和目录的权限掩码。

当 umask 为 000 时,没有权限限制,文件和目录会获得最大权限。新文件的权限是 666,新目录的权限是 777。文件权限 = 666 - umask,目录权限 = 777 - umask。

umask 默认为 0002

umask 022 设置新的 umask 值,只对当前会话有效,重新登录后会恢复为默认设置

17.chmod 改变文件权限

用 touch 创建的文件权限 664,文件夹权限 775,0777代表最高权限。

chmod 0777 a1 将a1文件权限改成0777

sudo chown 用户名:用户组 文件名 更改文件或目录的所有者和所属组

18.who 显示登录用户名、使用终端设备、登录到系统时间

who -uH 在上一个基础上额外多了进程号等信息

19.ps aux 显示所有用户的详细进程信息

ps aux | grep mysql 显示包含 MySQL 的进程信息

ps -elf 查看线程数

20.jobs 显示后台作业

举例:执行 cat 命令,等待用户输入,此时按下“Ctrl Z”,挂起当前进程,即将进程放到后台,此时执行 jobs,可以看到后台进程。使用 fg 进程号(或 fg %1/2/3/4...),将进程移到前台。

21.kill -l 查看所有信号 

举例:kill -9 3642 使用 9 号信号杀死 3642 号进程

注:9 号信号能杀死 terminal 状态进程,而 15 号信号不能。

22.env 查看操作系统环境变量
23.ifconfig 查看网卡信息
24.ping 主机名/IP地址
25.nslookup name 查看域名对应的IP地址
26.netstat 显示网络连接、路由表、网络接口信息
27.finger username 查看用户信息
28.文件权限

- 普通文件 d 目录 l 符号链接

-rwxrw-r--,其中 - 代表普通文件,rwx 代表给当前文件创建者分配的权限,rw- 代表给当前文件创建者的同组用户分配的权限,r-- 代表给其他用户组分配的权限。

例:0543 对应的权限?(0 代表 8 进制)

5 对应 “101”,即 r-x,4 对应 “100”,即 r--,3 对应 “011”,即 -wx。

29.more 分页显示文件内容

more 文件名 查看文件内容,按 “d” 向下查看,按 “q” 退出查看

30.less 分页显示文件内容

less 比 more 功能更强大,支持上下滚动查看(more 不支持)

31. head -5 文件名 查看文件前 5 行
32.tail -5 文件名 查看文件后 5 行
32.wc

wc -c 文件名 计算文件字节数

wc -l 文件名 计算文件列数

wc -w 文件名 计算字数,以空格为分界(例:hello world 为 2)

33.查看磁盘使用情况

df 显示文件系统的磁盘空间使用情况 df -h 以合适单位进行显示

du 显示目录或文件的磁盘空间使用情况

fdisk 显示磁盘分区信息

34.free 显示系统内存统计信息,默认以字节为单位
35.man

man 命令 查看命令帮助文档

man 2 函数 查看系统函数帮助文档

man 3 函数 查看库函数

在代码内,光标移动到要查看的函数位置,按 Shift + k 即可查看。

36.clear 清屏
37.date 查看时间
38.apt-get

sudo apt-get update 更新软件包列表

sudo apt-get install package_name 安装软件包,例 sudo apt-get install vim,安装 vim 编译器

sudo apt-get upgrade 升级已安装的软件包

sudo apt-get remove package_name 用于删除已安装的软件包,但保留配置文件

sudo apt-get purge package_name 用于删除软件包及其所有配置文件,彻底清除软件

39.find 查找文件,可按按文件名、类型、大小、修改时间等条件进行查找

find ./ -name "a*" 查找当前目录下所有带 a 的文件(./ 当前目录,/ 根目录,~ 家目录)

find /path/to/search -type f 查找 /path/to/search 路径下文件类型为普通文件(-type f)的文件

find /path/to/search -size +10M 查找 /path/to/search 路径下文件大小大于 10MB 的文件

find /path/to/search -mtime -7 查找 /path/to/search 路径下在过去 7 天内修改过的文件

40.grep 用于在文件中查找匹配特定模式的文本行

grep -n "^ret" ./a.txt 找到 a.txt 中以 “ret” 开头的,并且显示对应行号

grep -nR "^ret" ./ 查看全部文件中以“ret” 开头的,并且显示对应行号

41.telnet 用于远程访问计算机或测试特定端口的连通性 默认端口 23

telnet hostname port 远程登录/测试端口是否开放

注:telnet 使用明文传输数据(包括密码),安全性低,推荐使用更安全的 ssh 进行远程登录。

42.ssh 用于通过 SSH 协议连接远程主机 默认端口 22

举例:ssh user@192.168.1.10,连接 IP 地址为 192.168.1.10 的服务器,并以 user 用户身份进行登录。

43.ftp 用于在本地计算机与远程计算机之间进行文件上传和下载 默认端口 21

ftp hostname

  • hostname:远程计算机的主机名或 IP 地址。

一旦你连接到 FTP 服务器后,可以使用以下命令来操作文件:

  • ls:列出当前目录中的文件。
  • cd DIRECTORY:切换到指定的目录。
  • get FILENAME:从服务器下载文件。
  • put FILENAME:将本地文件上传到服务器。
  • mget:批量下载文件。例:mget *.txt,下载服务器上所有以 .txt 结尾的文件。
  • mput:批量上传文件。
  • delete FILENAME:删除服务器上的文件。
  • bye 或 quit:退出 FTP 会话。

注:ftp 以明文形式传输数据,推荐使用 更安全的 SFTP(基于 SSH 的文件传输协议)

44.uptime 显示系统的平均负载和运行时间

$ uptime
 14:35:07 up 10 days,  4:12,  3 users,  load average: 0.15, 0.09, 0.07

当前时间:14:35:07 表示系统当前的时间。

系统运行时间:up 10 days, 4:12 表示系统自上次启动以来已经运行了 10 天 4 小时 12 分钟。

登录用户数:3 users 表示当前有 3 个用户登录到系统。

负载平均值:load average: 0.15, 0.09, 0.07 是系统负载的三项指标,分别表示过去 1 分钟、5 分钟和 15 分钟的平均负载。

45.top 实时显示系统中运行的进程以及系统资源的使用情况

与 ps 互补,ps 显示快照的静态进程信息,top 则动态显示。

46.Ctrl shift t 创建终端标签

Alt n(n = 1,2,3...)切换标签

Ctrl shift n 新开终端

47.vim 基础操作

vim 分屏操作:执行 vi a,进入 a 文件,按 :进入末行模式,上下分屏:sp 文件名,左右分屏:vsp 文件名,使用 Ctrl w w 在多个窗口切换。

进入普通模式(vi file 直接进入的就是普通模式,在插入模式下按 Esc 进入普通模式),执行:

删除命令:dd 删除光标所在行,n dd 删除指定行数(从光标所在行往下数)

撤销:u 一步一步撤销 U 一次性撤销当前行所进行的所有操作

文件复制:yy 复制当前行 n yy 复制几行 p 在光标所在位置向下新开辟一行,粘贴

查找:

  • / 用于向下查找(从当前光标位置向下查找指定的字符串)
  • ? 用于向上查找(从当前光标位置向上查找指定的字符串)
  • n:查找下一个匹配项(根据 / 或 ? 的方向)
  • N:反向查找下一个匹配项(与 / 或 ? 的方向相反)

例如,想从光标位置开始向下查找 “return” 字符串,只需执行 /return,按 n 即可向下查找。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com