Linux常用命令及重要知识

前言:

本文系统而全面地讲解Linux的常用命令及相关重要知识点,这些命令的使用是以Ubuntu为例(其他操作系统也差别不大,如:Centos、Debian、RedHat等),掌握本文内容可以胜任日常95%的工作需求,其它特殊需求可直接百度。

Linux文件系统

Linux文件目录用正斜杠,windows里面用反斜杠。如果在某目录下不具有x的权限, 那么就无法切换到该目录下,也就无法执行该目录下的任何指令,即使具有该目录的r 或w的权限,所以要开放目录给任何人浏览时,至少要给予r及x的权限,但w权限不可随便给。

树状目录结构:

目录文件内容
/bin系统有很多放置可执行文件的目录,但/bin比较特殊。因为/bin放置的是在 单人维护模式下还能够被操作的指令。 在/bin下面的指令可以被root与一般帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的 指令
/boot这个目录主要在放置开机会使用到的文件,包括Linux核心文件以及开机菜单与开机所需配置文件等等。 Linux kernel常用的文件名为:vmlinuz,如果 使用的是grub2这个开机管理程序, 则还会存在/boot/grub2/这个目录
/dev在Linux系统上,任何设备与周边设备都是以文件的型态存在于这个目录当 中的。 你只要通过存取这个目录下面的某个文件,就等于存取某个设备 ~ 比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/loop, /dev/sd等等
/etc系统主要的配置文件几乎都放置在这个目录内,例如人员的帐号密码档、 各种服务的启始档等等。一般来说,这个目录下的各文件属性是可以让一 般使用者查阅的, 但是只有root有权力修改
/lib系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库, 以及 在/bin或/sbin下面的指令会调用的函数库
/lib64用来存放与 /lib 不同的格式的二进制函数库,例如支持 64 位的 /lib64 函数库等
/mediamedia是“媒体”的英文,顾名思义,这个/media下面放置的就是可移除的设备! 包括软盘、光盘、DVD等等设备都暂时挂载于此。常见的文件名有:/media/floppy, /media/cdrom等等
/mnt如果想要暂时挂载某些额外的设备,一般建议可以放置到这个目录中。 在早时候,这个目录的用途与/media相同,只是有了/media之后,这个目录就用来暂时挂载用了
/opt这个是给第三方协议软件放置的目录,自行安装额外的软件(非原本的distribution提供的),那么也能够将软件安装到这里来
/run存放开机后所产生的各项信息
/sbinLinux有非常多指令是用来设置系统环境的,这些指令只有root才能够利用来“设置”系统,其他使用者最多只能用来“查询”而已。 放在/sbin下面的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。 至于某些服务器软件程序,一般则放置到/usr/sbin/当中。至于本机自行安装的软件所产生的系统可执行文件(system binary), 则放置到/usr/local/sbin/ 当中了。常见的指令包括:fdisk, fsck, ifconfig, mkfs等等
/srvsrv可以视为“service”的缩写,是一些网络服务启动之后,这些服务所需要 取用的数据目录。 常见的服务例如WWW, FTP等等。举例来说,WWW服务器需要的网页数据就可以放置在/srv/www/里面
/tmp
这是让一般使用者或者是正在执行的程序暂时放置文件的地方。 这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要数据不可放置在此目录
/usr/usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据;所有系统默认的软件都会放置到/usr, 系统安装完时,这个目录会占用最多的硬盘容量
/var主要为放置变动性的数据,如果/usr是安装时会占用较大硬盘容量目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file,run file),或者例如Mysql数据库的文件等
/home这是系统默认的使用者主文件夹(home directory)。在新增一个一般使用者帐号时, 默认的使用者主文件夹都会规范到这里来
/root系统管理员(root)的主文件夹
/lost+found这个目录是使用标准的ext2/ext3/ext4文件系统格式才会产生的一个目录, 目的在于当文件系统发生错误时, 将一些遗失的片段放置到这个目录下。 不过如果使用的是 xfs 文件系统的话,就不会存在这个目录
/proc这个目录本身是一个“虚拟文件系统(virtual filesystem)”,他放置的数据都是在内存当中, 例如系统核心、行程信息(process)、周边设备的状 态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间
/sys这个目录跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录核心与系统硬件信息较相关的信息。 包括目前已载入的核心模块与核心侦测到的硬件设备信息等等。这个目录同样不占硬盘容量

linux文件拓展名

linux中文件没有拓展名,我们在Linux系统中可以人为地去给文件加上扩展名,只是方便用户的辨别,但对Linux系统来说没有任何作用。有一些应用程序,比如 Web 服务器,可能使用命名约定来识别文件类型,但这只是特定的应用程序的要求而不是Linux 系统本身的要求。

软件包安装apt、dpkg

apt search #搜索软件
apt show xxx #显示安装包信息
apt install xxx #安装软件
apt upgrade xxx #升级指定软件
apt upgrade #升级所有可以升级的软件
apt update #更新Linux系统的包索引或包列表,它不会升级任何软件包
apt purge xxx #卸载软件并删除配置文件
apt remove xxx #卸载软件
apt remove xxx --purge #卸载软件并删除配置文件
apt autoremove xxx #卸载软件并移除软件依赖
xxx --version #查看版本 
dpkg -i xxx.deb #使用dekp命令安装deb软件包
dpkg -r xxx.deb #卸载包,但保留配置文件
dpkg -P package #卸载包,且删除配置文件

显示工作路径pwd

pwd [option] #当前文件路径,当省略option时,默认为-L选项
pwd -L #打印逻辑上的工作目录(当前文件)
pwd -P #打印物理上的工作目录(链接的原始文件)

管理员权限sudo、su

#建议使用sudo,不建议长期使用root用户,避免带来系统损坏
sudo #临时以管理员运行
su [-][用户名] #su为Switch User的缩写,切换到其他用户,省略用户名切换到root,可以通过 exit 命令退回上一个用户

清屏clear、reset

clear #清空屏幕
reset #这个命令将完全刷新终端屏幕,之前的终端输入操作信息将都会被清空,这样虽然比拟清爽,但整个命令过程速度有点慢,使用较少

重启及关机shutdown

shutdown -h now #关闭系统 (halt 关闭系统)
shutdown -r now #重启 (reboot 重启)
halt #最简单的关机命令,其实halt就是调用shutdown -h
reboot #主机重启,相当于调用shutdown -r

切换目录cd

cd /home   #进入根目录下面的home目录
cd ../..    #返回上两级目录
cd /    #返回跟目录
cd -        #返回上次所在的目录
cd ~        #如果当前是root用户,相当于 cd /root;如果当前是普通用户,相当于cd /home/当前用户名

浏览文件列表ls

ls        #查看目录中的文件
ls -a     #列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来
ls -l     #显示文件和目录的详细资料,可写为ll,文件权限分为3组drwxrwxrwx分别是文件所属用户、文件所属组、其他用户
ls -i     #显示文件在系统中的id

文件的权限与类型解释:

1 为:代表这个文件名为目录或文件,本例中为文件(-),d为目录,l为链接文件 ……
234为:owner拥有者的权限,本例中为可读、可写、可执行(rwx
567为:group同群组使用者权限,本例中为可读可执行(rx)
890为:others其他使用者权限

更改文件所有者chown

chown root file    #改变file文件所有者
chown runoob:runoobgroup file  #改变file文件所有者及群组
chown -R runoob:runoobgroup filedir  #改变filedir文件夹及其子文件夹所有者及群组(-R有递归改变的意思,很多命令有类似的参数)

更改文件权限chmod

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和 permission(权限),每个项目的设置可以用逗号隔开。 命令 chmod 将修改 who 指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在 who 的位置来说明,如 who 的符号模式表所示:

who用户类型说明
uuser文件所有者
ggroup文件所有者所在组
oothers所有其他用户
aall所有用户, 相当于 ugo

operator 的符号模式表:

Operator说明
+为指定的用户类型增加权限
去除指定用户类型的权限
=设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission 的符号模式表:

模式名字说明
r设置为可读权限
w设置为可写权限
x执行权限设置为可执行权限
X特殊执行权限只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
ssetuid/gid当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t粘贴位设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

#权限rwx二进制
7读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r–100
3写 + 执行-wx011
2只写-w-010
1只执行–x001
0000

下面举几个例子

chmod 754 file  #修改file文件权限为754
chmod -R 777 ./*  #递归修改当前文件夹下所有文件权限为777
chmod a=rwx file  #修改file文件权限为rwx,等价于chmod 777 file
chmod ugo+r file  #将file文件设为所有人皆可读取
chmod a+r file  #将file文件设为所有人皆可读取
chmod ug+w,o-w file1 file2  #将file1与file2文件设为该文件拥有者与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod u+x file  #为file文件拥有者增加可执行权限
chmod -R a+r *  #将目前目录下的所有文件与子目录皆设为任何人可读取
chmod ug=rwx,o=x file  #等价于chmod 771 file

压缩/解压缩tar、zip

tar #压缩/解压缩
zip -r file.zip file1 file2 file3  #压缩文件
zip -m myfile.zip a.txt #对已生成压缩包进行追加
zip -d myfile.zip a.txt #对压缩包文件删除某些项目
unzip file1.zip -d file  #解压

创建目录mkdir

mkdir dir1  #创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2  #同时创建两个目录
mkdir -p home/dir/test  #递归创建所有目录
mkdir -m 711 dir  #使用-m选项自定义目录权限,缺省时使用默认权限

创建文件touch、>、echo、vim

touch file  #创建文件
> file  #创建文件
echo "hello world!" > file  #创建并保存"hello world!"到文件中
vim file  #vim是一个兼容vi的文本编辑器,通常用来编辑纯文本。 vi/vim可以编辑一个文件,若文件名不存在则会新建

删除文件/目录 rm、rmdir

rm -f file1       #删除一个叫做 'file1' 的文件'
rmdir dir1        #删除一个叫做 'dir1' 的目录' (空目录才能删除)
rm -rf dir1       #删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2  #同时删除两个目录及它们的内容

移动mv

mv file1 file2     #把文件file1重命名为file2
mv file1 file2 dir #把文件file1、file2移动到目录dir中

复制cp

cp -a file1 file2  #连同文件的所有特性把文件file1复制成文件file2
cp dir/* .         #复制一个目录下的所有文件到当前工作目录
cp -a dir1 dir2    #复制一个目录

查找find

find / -name file1            #从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1            #搜索属于用户 'user1' 的文件和目录
find /home/user1 -name *.bin  #在目录 '/home/user1' 中搜索带有'.bin' 结尾的文件

显示进程ps

ps命令:该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出

ps -aux | grep "test.sh"  #a:显示所有程序,u:以用户为主的格式来显示,x:显示所有程序,不以终端机来区分;grep后面是筛选关键字

显示文件内容cat、tac、more、less、head、tail

cat file1  #从第一个字节开始正向查看文件的内容
tac file1  #从最后一行开始反向查看一个文件的内容
more file1 #查看一个长文件的内容
less file1 #类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 。进入后输入/查找
head -n 2 file1   #查看一个文件的前两行
tail -n 2 file1   #查看一个文件的最后两行
tail -f filename  #显示文件的尾部最后10行的信息,并且循环刷新,只要文件有更新,就会将更新信息显示到屏幕上

日期date

date  #显示日期

文件类型file

file  #显示当前文件是什么类型的文件

可以同时输入多条语句,用分号;隔开

cd ..;ls

软硬链接ln

ln file1 file2    #创建文件的硬链接(用同一片内存,删除一个文件另一个文件还在,两个文件在内存中id相同)
ln -s file1 file2 #创建文件的符号链接

命令帮助type、which、help、man

type  #查询命令类型
which ***  #查询命令位置,which命令搜索的范围来自环境变量PATH;
whereis ***  #whereis命令用于搜索二进制程序,包括未把路径存进环境变量的程序。
--help  #获取命令方法
man  #查询命令详细信息

自定义命令alias

alias deltxt="rm *.txt"  #新建自定义命令(重启终端后自定义命令就被清除了)
unalias deltxt           #删除自定义命令
alias                    #查看已经创建的命令

重定向>、>>

echo abc > 1.txt  #覆盖的方式输出到1.txt(没有文件会创建)
echo abc >> 1.txt #追加的方式输出到1.txt

2>&1

command > file 2>&1  #首先是command > file将标准输出重定向到file中,2>&1 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。

管道|

| 管道命令,比如

ls|sort|less

磁盘空间df、fdisk

df -h    #磁盘空间

fdisk -l  #各磁盘大小

内存空间free

free  #内存空间

查看文件大小du

du -h file  #文件大小
du -h --max-depth=1 #目录深度为1(只显示当前目录下文件,不显示子目录)
du -s  #显示的当前目录所占用的磁盘空间
du -sh * #当前目录下文件大小

详细信息stat

stat #显示文件或文件系统的详细信息。

打开文件gedit

gedit  #打开文件

计数wc

wc  #(Word Count)统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
ls|wc -l  #获取文件个数

下载网络文件wget

使用wget下载网络文件到指定路径
wget -P 路径 URL
-P 指定路径
-b 后台下载
-c 断点续传
-p 下载页面所有资源,包括图片视频等
-r 递归下载

#下载coco数据集(分别是:18G 1G 6G)
wget -p /home/yons/tzy/dataset/coco http://images.cocodataset.org/zips/train2017.zip;
wget -p /home/yons/tzy/dataset/coco http://images.cocodataset.org/zips/val2017.zip;
wget -p /home/yons/tzy/dataset/coco http://images.cocodataset.org/zips/test2017.zip;

当前终端进程jobs

jobs -l  #查看后台运行的进程(只能查看当前终端后台运行的任务,换了终端就看不到了)

后台运行nohup &

nohup xxx &  #nohup理解为脱离当前终端,终端关闭时xxx仍然执行;&理解为后台执行,不卡在终端界面,但是终端关闭时xxx也会随之关闭。

结束进程kill

kill xxx  #杀死进程
kill -1 (HUP) xxx   #重新加载进程。
kill -9 (KILL) xxx  #杀死一个进程。
kill -15 (TERM) xxx #正常停止一个进程。

查看ip地址ipconfig、hostname、ip

ipconfig
hostname -i
ip addr
ip a

查看显卡、cpu、内存

nvidia-smi  #查看显卡使用情况
top  #查看进程占用cpu和内存信息,ctrl+p按cpu占用率排序,ctrl+m按内存占用率排序(cpu占用率上限不是100%,是cpu核数x100%)
free -h  #查看内存使用情况
cat /proc/cpuinfo  #查看cpu信息

远程连接ssh

ssh user@host  #以用户名user,登录远程主机host
ssh user@host -p 2222  #SSH服务的默认端口是22:登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口
ssh-keygen -R ip  #清除密钥交互信息

远程上传下载scp

#下面上传下载需要在本地终端执行,不用连接到服务器再执行
scp /path/filename user@host:/path/  #上传文件
scp user@host:/opt/test.sql /opt/data/  #下载文件
scp -r /opt/local_test_dir user@host:/opt/test  #上传目录
scp -r user@host:/opt/test/ /opt/local_test_dir #下载目录

显示已经登陆系统的用户w

w  #显示已经登陆系统的用户列表,并显示用户正在执行的指令

文本编辑vim

i        #插入
u        #撤销最近一次操作
ctrl+r   #恢复操作
x        #删除
*x       #删除*个字符
dd       #删除一行
*dd      #删除*行
y        #复制一个字符
*yl      #复制*个字符
yw       #复制一个单词
*yw      #复制*个单词
yy       #复制一行
*yy      #复制*行
p        #粘贴
?*       #查找*字符串
:w file  #另存为file文件
:wq      #保存
:q!      #退出

谢谢你长得这么好看还能支持我~(〃'▽'〃)

评论

  1. Bennett2060
    Windows Chrome 120.0.0.0
    3周前
    2024-2-12 21:30:31

    Мадонна, икона поп-музыки и культурного влияния, продолжает вдохновлять и поражать своей музыкой и стилем. Её карьера олицетворяет смелость, инновации и постоянное стремление к самовыражению. Среди её лучших песен можно выделить “Like a Prayer”, “Vogue”, “Material Girl”, “Into the Groove” и “Hung Up”. Эти треки не только доминировали на музыкальных чартах, но и оставили неизгладимый след в культурной и исторической панораме музыки. Мадонна не только певица, но и икона стиля, актриса и предприниматель, чье влияние простирается далеко за рамки музыкальной индустрии. Скачать mp3 музыку 2024 года и слушать онлайн бесплатно.

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
w(゚Д゚)w
(ノへ ̄、)
(๑•̀ㅂ•́)و✧
o(* ̄3 ̄)o
(* ̄3 ̄)╭
(づ ̄3 ̄)づ╭❤~
(*  ̄3)(ε ̄ *)
( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///)
Σ(°△°|||)︴
凸(艹皿艹 )
(u‿ฺu✿ฺ)
o(*≧▽≦)ツ┏━┓
╰(*°▽°*)╯
o( ̄ヘ ̄o#)
~~( ﹁ ﹁ ) ~~~
(ーー゛)
(ー`′ー)
o(一︿一+)o
(o_ _)ノ
(ノへ ̄、)
(ˉ▽ ̄~) 切~~
(@_@;)
( =•ω•= )m
(✿◡‿◡)
┭┮﹏┭┮
ヾ( ̄▽ ̄)Bye~Bye~
Ψ( ̄∀ ̄)Ψ
✧(≖ ◡ ≖✿)
━( ̄ー ̄*|||━━
ヽ(*。>Д<)o゜
(;′⌒`)
X﹏X
(′▽`ʃ♡ƪ)
♪(^∇^*)
φ(≧ω≦*)♪
o(* ̄︶ ̄*)o
o(^▽^)o
(*^-^*)
n(*≧▽≦*)n
Ψ( ̄∀ ̄)Ψ
o(〃'▽'〃)o
(〃'▽'〃)
╰(*°▽°*)╯
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
颜文字
Emoji
小恐龙
花!
表情包
上一篇