百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

linux中的常用命令_linux常用命令及含义

zhezhongyun 2025-09-29 15:59 63 浏览

linux中的常用命令

linux中的命令统称shell命令

shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,实现用户与操作系统的交互

shell终端:我们平时输入命令,执行程序的那个窗口

gec@ubuntu:/bin$

root@ubuntu:/etc#

gec@ubuntu:~$

~ --》当前用户的家目录,等价于 /home/gec

家目录:linux系统支持创建多个用户,你创建新的用户的时候,linux会帮你在/home目录下面新建一个文件夹(文件夹的名字跟用户名是一模一样的)--》这个特殊的文件夹称为家目录

gec --》当前用户的名字

root --》超级用户的名字,安卓手机刷机的时候一键root

@ --》分隔用户名和系统名

ubuntu --》操作系统的名字

/bin --》指示你当前所处的位置路径

$ --》当前用户是个普通用户

# --》当前用户是个超级用户

1)新建或者打开文件

vi跟vim的使用基本一致,vim是vi的升级版

vim 文件名

按下i,o,a进入到插入模式才可以输入

按下Esc退出插入模式,输入冒号wq保存退出

按下Esc退出插入模式,输入冒号q!强行退出,不保存

touch 文件名 //只能新建文件

gedit 文件名 //跟windows上的记事本很类似

2)删除文件或者文件夹

rm 文件名

rm 文件夹名字 -rf (r表示递归,f表示强制)

3)新建文件夹

mkdir 目录名

4)切换目录

cd 目录的路径名

cd .. 返回上一级目录

cd - 返回上一次进入(最近一次)的目录

linux中路径的写法,跟windows的区别

linux的根目录 /

bin ---> 工具目录

dev ---> 设备驱动文件

proc ---> 系统信息

sbin ---> 管理员工具 (root)

sys ---> 驱动信息

var ---> 系统日志

boot ---> 系统启动文件

etc ---> 配置文件

lib ---> 库文件

mnt ---> 挂载目录

root ---> 管理员工作目录

tmp ---> 临时目录

cdrom ---> 光驱目录

home ---> 用户主目录(每个用户在该目录中均有一个子目录)

usr ---> 用户的程序文件目录


绝对路径:不偷懒,永远都不会出错的写法,完整的路径写法(从根目录开始)

相对路径:偷懒,根据所处的位置去写路径名

5)ls命令

ls -al //列表的形式列举所有文件,包括隐藏文件

linux中所有的隐藏文件都是小数点开头

其中:

. (一个小数点) 表示当前路径

.. (俩个小数点) 表示上一级路径

利用这个特点自己新建隐藏的文件或者目录

touch .1.txt

mkdir .newdir

ls -l //列表的形式列举文件,不包括隐藏文件

-rwxrwxrwx 1 root root 67 Feb 23 19:23 hello.c

linux中有七种类型的文件:

目录: d

普通文件:-

字符设备:c //学习后面的驱动

块设备:b //学习后面的驱动

套接字:s //学习网络编程

软链接文件:l //类似于window的快捷方式

管道文件: p //学习系统编程

第一个字符: d --》目录

- --》普通文件

第二个开始的字符: 表示可读,可写,可执行的权限

分为三组:分别表示当前用户,同组用户,其它用户对于这个文件的操作权限

r --》可读 w --》可写 x --》可执行

6)在屏幕上输出数据

echo "hello"

echo 567

7)切换超级用户

用途:当你想要修改根目录下的文件夹里面的内容

自己的家目录跟共享文件夹可以不切换超级用户的权限

临时借用超级用户的权限

sudo 命令的完整写法

sudo vim hello.c //临时借用超级用户的权限创建hello.c

sudo rm hello.c //临时借用超级用户的权限删除hello.c

永久切换超级用户

sudo -s

切换回普通用户

su 普通用户的名字

8)剪切文件或者目录

mv 文件名 目标路径

比如: mv hello /mnt/hgfs/share //当前路径下的hello剪切到共享

重命名文件

mv hello.c hehe.c //给hello.c更换名字为hehe.c

区分剪切和重命名

主要看后面你写的是合法的路径名(剪切)还是文件名(重命名)

9)修改权限

不要在共享文件夹中修改权限,不准确(受到windows的影响)

chmod 777 文件的名字

chmod 777 目录的名字 -R (递归修改文件夹的权限)

7 ---》 二进制 111(分别代表读,写,执行的权限)

r w x

1 1 1

0 0 0

例如: chmod 666 hello.c chmod 654 hello.c

10)软链接

软链接:ln -s 原来的名字 软链接的名字

类似于windows中的快捷方式

硬链接:ln 原来的名字 硬链接的名字

软硬链接共同点:原文件修改了,软硬链接都跟着一起修改,软硬链接文件修改了,原文件跟着修改

软链接和硬链接只能在纯粹的linux环境中创建(共享文件夹中无法创建软硬链接)

区别:软链接依赖于原文件,硬链接不需要依赖原文件

硬链接的文件类型跟原来的文件一样,软链接文件类型属于链接文件

硬链接不能指向目录

11)打包和压缩文件

linux中有两种常见格式的压缩包:

.bz2结尾和gz结尾

打包文件/文件夹: tar -jcf xxx.tar.bz2 文件名1 文件名2 ........

例如: tar -jcf 66.tar.bz2 1.jpg 2.mp3 3.txt

tar -zcf xxx.tar.gz 文件名1 文件名2 ......

例如: tar -zcf 66.tar.gz 1.jpg 2.mp3 3.txt

查看压缩包里面的内容:

tar -tf 压缩包的名字

解压:

tar -jxf 66.tar.bz2 //默认解压到当前路径

tar -zxf 66.tar.gz //默认解压到当前路径

解压到指定的位置:

tar -jxf 66.tar.bz2 -C 你要指定的路径

tar -zxf 66.tar.gz -C 你要指定的路径

12)查找搜索相关的命令

find

比如: find / -name stdio.h //在根目录下找名字叫做stdio.h的文件

find / -type 文件类型

find / -type d // 搜索根目录下的所有的文件夹

grep

比如:grep "printf" stdio.h -Hn //我要在stdio.h文件中搜索关键字printf,并打印printf出现行号

-H 打印文件的名字

-n 打印关键词出现的行号

-w 全字匹配,跟关键词一模一样

printf 正确

&printf 正确,跟非英文字符混合一起也行

("printf") 正确,跟非英文字符混合一起也行

13)查看文件

cat 文件名 //查看整个文件内容

head

head 1.txt -n 2 //查看1.txt的前面2行

tail

tail 1.txt -n 2 //查看1.txt的最后2行

14)清屏

clear

15)ps top命令

查看当前系统中进程的运行状态

ps -elf

动态查看进程的状态信息

top

16)拷贝文件/目录

cp 文件名 目标路径

cp 目录名 目标路径 -rf (r递归 f强制)

17)给命令取别名

注意: 取别名不能跟系统中原本的命令冲突

alias c='clear' //表示我给clear命令换个名字,叫做c

取消别名

unalias c //取消刚才取的别名c

18)查询shell命令的路径

which shell命令的名字

which ls --》/bin/ls

which find --》/usr/bin/find

19)重启ubuntu

reboot

20)查看或者修改ubuntu的ip地址

查看ip地址 ifconfig //ens33 是ubuntu虚拟网卡的名字

修改ip地址 sudo ifconfig 虚拟网卡的名字 你要配置的ip地址

比如: sudo ifconfig ens33 192.168.2.200

注意:有些新版本的ubuntu可能需要用另外一个命令netplan来配置ip地址

21)重定向和追加重定向

重定向:重新确定方向 > 会覆盖原来的内容

ls > 1.txt //把ls的输出重定向到1.txt

echo "hello" > 2.txt

追加重定向: >> 在末尾追加,不会覆盖文件中原本的内容

22)查看文件大小

du 文件名 -b

目录的大小:它里面所有文件和文件夹大小的总和


23)目录树

tree 目录名

测试ubuntu连接外网

ping www.baidu.com

PING www.a.shifen.com (14.119.104.189) 56(84) bytes of data.

64 bytes from 14.119.104.189: icmp_seq=1 ttl=128 time=6.01 ms

64 bytes from 14.119.104.189: icmp_seq=2 ttl=128 time=4.83 ms

64 bytes from 14.119.104.189: icmp_seq=3 ttl=128 time=4.77 ms

64 bytes from 14.119.104.189: icmp_seq=4 ttl=128 time=4.86 ms

在线安装下载tree命令

sudo apt-get install tree

24)比较文件或者目录

diff 1.c 2.c -s //比较两个文件,内容一样就打印提示

diff 目录1 目录2 -r //递归比较两个目录

25)查看当前路径名

pwd

26)添加/删除用户,密码

添加用户:sudo adduser 用户名

弹出提示让你输入密码,输入个人信息(随便乱输入)

普通用户直接切换

su 普通用户的名字

修改密码:sudo passwd 用户名

弹出提示让你输入新密码

删除用户:sudo userdel -rf 用户名 //连同家目录一起删除

27)安装man手册

sudo apt-get install manpages-posix manpages-dev manpages (manual手册安装)

28)查看环境变量

env

输出环境变量

echo $环境变量的名字

比如:echo $PATH

设置环境变量

export 环境变量的名字=新的路径名:$环境变量的名字

比如;export PATH=/mnt/hgfs/share:$PATH

29)按屏显示文本文件

more 文件名

按Enter键为一行一行显示,按空格键为一屏一屏显示

按q退出显示

另外一个按屏显示文件的命令

less 文件名

可以用上下键翻阅

vim的使用

=========================================================

1.vim的模式

两种模式:插入模式 --》三个字母i,o,a按下任意一个进入到插入模式

命令模式 --》在插入模式下,按下Esc退出插入模式,自动进入到命令模式

:wq 保存退出

:q! 强行退出

以下所有的操作都要在命令模式下进行

2.基本操作

复制: yy 复制光标所在一行

nyy 复制n行 6yy 复制6行

粘贴: p

剪切: dd 剪切一行

ndd 剪切n行

删除:

x 删除光标所在位置的一个字符

3x 删除从光标开始的3个字符

X 删除光标前面的一个字符

跳转: GG 直接跳到最后一行

gg 直接跳到第一行

ngg 跳到第n行 88gg跳到第88行

撤销: u 还原 ctrl+r

设置行号:输入冒号set nu 取消行号:输入冒号set nonu

自动缩进:输入冒号set ai 设置完毕,你需要先按tab缩进,后面写的代码敲回车才会跟着上一行对齐缩进

写代码可以自动补齐 ctrl+p

替换字符:

:%s/旧的字符串/新的字符串 //默认只替换每一行第一个旧字符串

:%s/旧的字符串/新的字符串/g //替换所有的旧字符串

:m,ns/旧字符串/新字符串 //替换m到n行的旧字符串

比如 :2,10s/hello/world/g 把2到10行替换

搜索关键词:

输入 /关键词 然后回车 输入n不断地从前往后查找

?关键词 然后回车 输入n不断地从后往前查找

ubuntu网络配置

=========================================================

1.概念

桥接: ubuntu会单独由路由器分配ip,不和window共享ip

NAT: ubuntu跟主机共享ip

仅主机:

注意:某些同学ubuntu一直都无法配置联网或者ping通局域网,有可能的原因是虚拟网卡被删掉了,重新安装最新版本的wmware workstation

2.具体配置方法

总体有两种配置方法:

如果你使用文件配置ip,那就删除图形用户界面的配置,同样的道理,如果你使用图形用户界面配置ip,就删除文件配置中的语句

第一种: 使用图形用户界面配置

步骤: (1)确保你的windows是能上网,如果是动态ip,linux网络配置成NAT模式

如果是静态ip,linux网络配置成桥接模式

比如:彭老师windows的ip如下,配置静态ip的时候,ip地址前面三个部分跟window一样,子网掩码,默认网关,DNS全部照抄


第二种: 使用配置文件去配置

步骤: (1)确保你的windows是能上网,如果是动态ip,linux网络配置成NAT模式

如果是静态ip,linux网络配置成桥接模式

(2) 打开/etc/network/interfaces文件

在这个文件的后面加入如下几句话

(静态)

auto ens33

iface ens33 inet static //设置静态ip

address 192.168.1.5 //设置ip地址

gateway 192.168.1.1 //设置网关

netmask 255.255.255.0 //子网掩码

dns-nameservers 192.168.120.1 //dns服务器

打开/etc/resolv.conf文件

namesever 你自己的DNS服务器地址

在这个文件的后面加入如下几句话(动态)

auto ens33

iface ens33 inet dhcp //设置动态ip

(3)重启网络

sudo /etc/init.d/networking force-reload

sudo /etc/init.d/networking restart

注意:有些新版本的ubuntu,不认识刚才的重启命令,改成如下

sudo service networking force-reload

sudo service networking restart

APT软件包管理器

=========================================================

在线下载软件,更新下载源,卸载软件

在线下载:sudo apt-get install 软件程序的名字

自动下载的软件,会被放在/var/cache/apt/archives ,ubuntu中的安装包格式是.deb

更新软件源:sudo apt-get update

如果更新不成功,可以选择不同的ubuntu软件服务器(点击ubuntu设置里面有更换软件服务器地址)

修改你的源服务器

ubuntu设置下载服务器地址.jpg有标注

卸载软件:sudo apt-get remove 软件程序的名字

问题一: 卸载软件出现

Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

解决方法:用超级用户删除 /var/lib/dpkg/lock这个锁

手动安装软件:sudo dpkg -i xxxxx.deb

相关推荐

Python入门学习记录之一:变量_python怎么用变量

写这个,主要是对自己学习python知识的一个总结,也是加深自己的印象。变量(英文:variable),也叫标识符。在python中,变量的命名规则有以下三点:>变量名只能包含字母、数字和下划线...

python变量命名规则——来自小白的总结

python是一个动态编译类编程语言,所以程序在运行前不需要如C语言的先行编译动作,因此也只有在程序运行过程中才能发现程序的问题。基于此,python的变量就有一定的命名规范。python作为当前热门...

Python入门学习教程:第 2 章 变量与数据类型

2.1什么是变量?在编程中,变量就像一个存放数据的容器,它可以存储各种信息,并且这些信息可以被读取和修改。想象一下,变量就如同我们生活中的盒子,你可以把东西放进去,也可以随时拿出来看看,甚至可以换成...

绘制学术论文中的“三线表”具体指导

在科研过程中,大家用到最多的可能就是“三线表”。“三线表”,一般主要由三条横线构成,当然在变量名栏里也可以拆分单元格,出现更多的线。更重要的是,“三线表”也是一种数据记录规范,以“三线表”形式记录的数...

Python基础语法知识--变量和数据类型

学习Python中的变量和数据类型至关重要,因为它们构成了Python编程的基石。以下是帮助您了解Python中的变量和数据类型的分步指南:1.变量:变量在Python中用于存储数据值。它们充...

一文搞懂 Python 中的所有标点符号

反引号`无任何作用。传说Python3中它被移除是因为和单引号字符'太相似。波浪号~(按位取反符号)~被称为取反或补码运算符。它放在我们想要取反的对象前面。如果放在一个整数n...

Python变量类型和运算符_python中变量的含义

别再被小名词坑哭了:Python新手常犯的那些隐蔽错误,我用同事的真实bug拆给你看我记得有一次和同事张姐一起追查一个看似随机崩溃的脚本,最后发现罪魁祸首竟然是她把变量命名成了list。说实话...

从零开始:深入剖析 Spring Boot3 中配置文件的加载顺序

在当今的互联网软件开发领域,SpringBoot无疑是最为热门和广泛应用的框架之一。它以其强大的功能、便捷的开发体验,极大地提升了开发效率,成为众多开发者构建Web应用程序的首选。而在Spr...

Python中下划线 ‘_’ 的用法,你知道几种

Python中下划线()是一个有特殊含义和用途的符号,它可以用来表示以下几种情况:1在解释器中,下划线(_)表示上一个表达式的值,可以用来进行快速计算或测试。例如:>>>2+...

解锁Shell编程:变量_shell $变量

引言:开启Shell编程大门Shell作为用户与Linux内核之间的桥梁,为我们提供了强大的命令行交互方式。它不仅能执行简单的文件操作、进程管理,还能通过编写脚本实现复杂的自动化任务。无论是...

一文学会Python的变量命名规则!_python的变量命名有哪些要求

目录1.变量的命名原则3.内置函数尽量不要做变量4.删除变量和垃圾回收机制5.结语1.变量的命名原则①由英文字母、_(下划线)、或中文开头②变量名称只能由英文字母、数字、下画线或中文字所组成。③英文字...

更可靠的Rust-语法篇-区分语句/表达式,略览if/loop/while/for

src/main.rs://函数定义fnadd(a:i32,b:i32)->i32{a+b//末尾表达式}fnmain(){leta:i3...

C++第五课:变量的命名规则_c++中变量的命名规则

变量的命名不是想怎么起就怎么起的,而是有一套固定的规则的。具体规则:1.名字要合法:变量名必须是由字母、数字或下划线组成。例如:a,a1,a_1。2.开头不能是数字。例如:可以a1,但不能起1a。3....

Rust编程-核心篇-不安全编程_rust安全性

Unsafe的必要性Rust的所有权系统和类型系统为我们提供了强大的安全保障,但在某些情况下,我们需要突破这些限制来:与C代码交互实现底层系统编程优化性能关键代码实现某些编译器无法验证的安全操作Rus...

探秘 Python 内存管理:背后的神奇机制

在编程的世界里,内存管理就如同幕后的精密操控者,确保程序的高效运行。Python作为一种广泛使用的编程语言,其内存管理机制既巧妙又复杂,为开发者们提供了便利的同时,也展现了强大的底层控制能力。一、P...