Python—linux基础

这篇博客介绍了Linux的基础知识,包括文件和目录操作的指令,如pwd、cd、ls、mkdir、rm等,以及文件搜索命令find、locate、which和whereis。还涵盖了压缩解压命令如gzip、tar、zip,用户管理和帮助命令,系统管理命令如date、ps、df,以及软件包管理工具apt-get、dpkg和aptitude的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux基础

Linux,Windows,MacOS,操作系统,基于Unix发展而来

Linus Torwards

文件和目录操作的基本指令

pwd(print working directory)

  • 显示工作目录

cd(change directory)

  • 切换工作目录
cd [相对路径或者绝对路径]

四个特殊符号

符号含义
~表示用户主目录,即home变量指定的目录
-表示前一个工作目录
.表示当前目录
表示上一层目录
a123@a123-virtual-machine:~/process_demo$ cd ~
a123@a123-virtual-machine:~$ cd -
/home/a123/process_demo
a123@a123-virtual-machine:~/process_demo$ cd .
a123@a123-virtual-machine:~/process_demo$ cd ..
a123@a123-virtual-machine:~$ 

ls

list

  • 列出当前文件夹下的文件和文件夹
No.命令说明
1ls -a列出文件下所有的文件,包括以“.”开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在…代表存在着父目录)。
2ls -l列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
3ls -F在每一个文件的末尾加上一个字符说明该文件的类型“@”表示符号链接、“|”表示FIFOS、“/”表示目录、“=”表示套接字。
4ls -s在每个文件的后面打印出文件的大小。 size(大小)
5ls -t按时间进行文件的排序。 Time(时间)
6ls -A列出除了“.”和“…”以外的文件。
7ls -R将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
8ls -L列出文件的链接名。Link(链接)
9ls -S以文件的大小进行排序。

文件颜色

不同文件(夹)名称有不同的颜色,颜色的含义:

颜色含义
绿色可执行文件
红色压缩文件
深蓝色目录
浅蓝色链接文件
灰色其他文件

mkdir

  • 创建一个目录或者一个级联目录

  • 格式

    • mkdir [选项] 目录名
      

mkdir常见选项参数

选项参数说明
-m为目录指定访问权限
-p建立目录时,如果父目录不存在,则与子目录一起建立
-v为每个目录显示提示信息

touch

  • 创建文件

  • 格式

    • touch [选项] 文件名
      
  • 在当前目录下创建文件

  • 在指定目录下创建文件

    • 当前目录子目录
    • 当前目录父目录的非当前目录的子目录下
  • 指定文件格式

  • 一次创建多个文件

touch file1 file2 file3
touch file{4..7}

选项参数如下表:

选项参数说明
-a仅修改访问时间
-c仅修改文件的时间,若该文件不存在则不创建新文件。
-d后面可以接欲修改的日期而不用目前的日期,或用 --d=“日期或时间”
-m仅修改mtime
-t后面可以接欲修改的时间而不用目前的时间,格式为[YYMMDDhhmm]

rmdir

  • 删除空目录

rm

  • 删除文件

mv

  • 移动
  • 将文件移动一个地方并且重命名

cp

  • 复制

  • cp 源文件(目录) 目标文件(目录)

文件搜索命令

find

find命令用来进行文件搜索,其功能十分强大,但由于搜索很占系统资源,建议尽量少使用find命令来执行搜索任务。在使用find命令时,应该尽可能缩小搜索范围,避免服务器使用高峰期进行文件搜素。
综上所述,在整理Linux文件时,尽可能保证规范化,提前规划好文件的存放目录。

搜索方法

  • 根据文件或者目录名称搜索
find [搜索目录] [-name/-iname] [搜索字符]

-name:区分大小写 ; -iname:不区分大小写

精准搜索

模糊搜索 */?

23-virtual-machine:~$ find /home -name f???????
/home/a123/.cache/gnome-software/3.20/firmware
a123@a123-virtual-machine:~$ find /home -name f?
/home/a123/vmware-tools-distrib/etc/messages/fr
a123@a123-virtual-machine:~$ find /home -name f???????????????????????????
a123-virtual-machine:~$ 

根据文件大小搜索

find [搜索目录] -size +n/-n/n

根据所有者或者所属组搜索

find [目录名] -group 组名
find [目录名] -user 用户名
locate

作用:在文件资料库中查找文件

格式:

locate [文件名] 

locate命令和find命令的区别:

​ find命令是全盘检索。

​ locate是在文件资料库中进行搜索。

因此,locate命令的执行速度比find快。这里 需要注意的是,文件资料库是需要不断更新的。我们新建的文件如果不更新文件资料库,就无法使用locate查询。

手动更新资料库,我们可以使用updatedb命令,但对于/tmp目录下的新建文件,是无法更新的,因为/tmp目录不属于文件资料库的收录范围。

which

作用:搜索命令所在的目录

which [命令]
whereis

作用:搜索命令所在目录及帮助文档的路径

格式

where [命令]

压缩解压命令

gzip命令

作用:压缩文件,文件拓展名为.gz

格式:

gzip [需要压缩的文件]

该命令只能压缩文件,而不能压缩目录,并且压缩后不保留源文件

gunzip

作用:解压.gz格式文件

gunzip [压缩文件名]
tar -zar 命令

作用:将文件压缩为.tar.gz格式

格式:

tar [选项] [压缩后的文件名] 目录

选项说明:

-c :打包

-v :显示详细信息

-f :指定文件名

-z :打包文件同时压缩文件

解压缩

格式:

tar 选项 [.tar.gz格式的文件名] [指定解压后文件存放目录,默认是当前]

选项说明:

-x :解包

-v :显示详细信息

-f :指定解压文件

-z :解压缩

zip命令

作用:将文件或者目录压缩为.zip格式

格式:

zip -r [压缩后文件名] 要压缩的文件或者目录

-r :压缩目录及目录内的所有文件(夹)

unzip 解压

格式

unzip [.zip格式拓展名文件]
bzip2

作用:将文件压缩为.bz2格式

注意,只能压缩文件

格式

bzip2 [/-k] 文件

-k,保留源文件

bunzip2

作用:解压.bz2格式压缩文件

格式

bunzip2 [/-k] 文件

用户及管理命令

  • whoami
  • 查看当前系统当前账号用户名

exit命令

Exit命令用来退出登录账户。如果当前是图形界面,退出当前终端;如果是使用ssh远程登录,退出远程登陆账户;如果是切换后的登陆用户,则退出返回上一个登陆账号。

用户(user)和用户组(group)管理命令

用户(user)的概念

Linux是多用户操作系统,我们可以建立多个用户(user)。比如,朋友想借你的电脑使用一下,但你的用户名下有不想让人看到的资料,这时就可以新建一个用户名给朋友使用。

除此以外,Linux中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org的网页程序,就是nobody用户;我们匿名访问ftp时,会用到用户ftp或nobody;如果您想了解Linux系统的一些帐号,可以查看 /etc/passwd 。

用户组(group)的概念

用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的。

用户和用户组的****关系

二者的关系是:一对一、多对一、一对多或多对多。

关系说明
一对一某个用户可以是某个组的唯一成员
多对一多个用户可以是某个唯一的组的成员,不归属其它用户组
一对多某个用户可以是多个用户组的成员
多对多多个用户对应多个用户组,并且几个用户可以是归属相同的组

用户(user)和用户组(group)相关的配置文件、命令

1与用户(user)和用户组(group)相关的配置文件

1)与用户(user)相关的配置文件

/etc/passwd (用户(user)的配置文件);

/etc/shadow (用户(user)影子口令文件);

2)与用户组(group)相关的配置文件

/etc/group (用户组(group)配置文件);

/etc/gshadow (用户组(group)的影子文件);

2、管理用户(user)和用户组(group)的相关工具或命令;

1)管理用户(user)的工具或命令

命令说明
useradd 用户名添加用户
passwd 用户名为用户设置密码
usermod修改用户命令,可以通过usermod 来修改登录名、用户的家目录
pwcov同步用户从/etc/passwd 到/etc/shadow

2)管理用户组(group)的工具或命令

命令说明
groupadd添加用户组
groupdel删除用户组
groupmod修改用户组信息
groups显示用户所属的用户组

帮助命令

help

man

manual pages

作用:用来获得某个命令的说明以及使用方式的详细介绍

格式:

man 命令名

man手册的内容很多,涉及了Linux使用过程中的方方面面,为了便于查找,man 手册被进行了分册(分区段)处理,手册通常被分为以下9个区段:

1Standard commands(标准命令)
2System calls(系统调用)
3Library functions(库函数)
4Special devices(设备说明)
5File formats(文件格式)
6Games and toys(游戏和娱乐)
7Miscellaneous(杂项)
8Administrative Commands(系统管理命令和守护进程)
9other(其他,用来存放内核例行程序的文档)

如果觉得 man 显示的信息都还不够,满足不了需求,那么可使用 info 命令来获取帮助。

info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。

man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息。

系统管理命令

date

format格式含义
%Y,%y
%m
%d
%H
%M
%S
a123@a123-virtual-machine:~$ date
2019年 08月 08日 星期四 19:57:13 CST
a123@a123-virtual-machine:~$ date '+%Y-%m-%d'
2019-08-08

cal

ps

ps查看进程的详细情况,常用选项

选项作用
-a显示终端上的所有进程,包括其他用户的进程
-u显示进程的详细状态
-x显示没有控制终端的进程
-r显示正在运行的进程
-w显示加宽,以便显示更多的信息

检测磁盘空间

df

sudo df -m

选项作用
-a显示所有文件系统和磁盘使用情况
-m以1024字节为单位显示
-t显示各指定文件系统的磁盘使用
-T显示文件系统

进程终止

kill

kill [-signal] pid

signal:信号值0-15

9,表示绝对终止,用来终止一般信号无法终止的进程

ifconfig

查看或者配置网卡信息

软件包管理

1 apt-get的使用方法

高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软 件包,因此简化了 Unix系统上管理软件的过程,apt-get命令一般需要root权限执行,所以一般跟着sudo命令。

它的基本使用方法如下:

(1)获得最近的软件包的列表,列表中包含一些包的信息,比如这个包是否更新过

用法:

sudo apt-get update

(2)将系统升级到新版本

用法:

sudo apt-get -u upgrade 或 sudo apt-get dist-upgrade

说明: 由于包与包之间存在各种依赖关系,upgrade只是简单的更新包,不管这些依赖,它不会添加包或是删除包;而dist-upgrade可以根据依赖关系的变化,添加包,删除包。一般在运行upgrade或dist-upgrade之前,要运行update。

(3)安装软件包

用法:

apt-get install packagename

示例: apt-get install mdadm

(4)卸载一个已安装的软件包(保留配置文档)

用法:

apt-get remove packagename

示例:apt-get remove sqlite3

(5)卸载一个已安装的软件包(删除配置文档)

用法:

apt-get remove --purge packagename

示例:

apt-get remove --purge samba

(6)删除包及其依赖的软件包

用法:

apt-get autoremove packagename

示例:

apt-get autoremove openssh-server

(7)删除包及其依赖的软件包和配置文件,比上面的要删除的彻底一点

用法:

apt-get autoremove --purge packagname

示例:

apt-get autoremove --purge xinetd

(8)清除那些已卸载的软件包的.deb文档

用法:

apt-get autoclean

说明:

a. 通过这种方式,您能够释放大量的磁盘空间。

b. 假如您的需求十分迫切,能够使用apt-get clean以释放更多空间,apt-get clean 这个命令会将已安装软件包裹的.deb文档一并删除。

2 dpkg的使用方法

dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。下面是它的一些命令的使用方法及解释:

(1)安装软件

用法:

dpkg -i <.deb file name>

示例:dpkg -i sogoupinyin_2.0.0.0078_amd64.deb

(2)安装一个目录下面所有的软件包

用法:

dpkg -R

示例:dpkg -R /usr/local/src

(3)释放软件包,但是不进行配置

用法:dpkg –unpack package_file

如果和-R一起使用,参数可以是一个目录

示例:dpkg –unpack sogoupinyin_2.0.0.0078_amd64.deb

(4)重新配置和释放软件包

用法:dpkg –configure package_file

如果和-a一起使用,将配置所有没有配置的软件包

示例:dpkg –configure sogoupinyin_2.0.0.0078_amd64.deb

(5)删除软件包(保留其配置信息)

用法:dpkg -r

示例:dpkg -r sogoupinyin

(6)替代软件包的信息

用法:dpkg –update-avail

(7)合并软件包信息

用法: dpkg –merge-avail

(8)从软件包里面读取软件的信息

用法:dpkg -A package_file

(9)删除一个包(包括配置信息)

用法:dpkg -P

(10)丢失所有的Uninstall的软件包信息

用法:dpkg –forget-old-unavail

(11)删除软件包的Avaliable信息

用法:dpkg –clear-avail

(12)查找只有部分安装的软件包信息

用法:dpkg -C

(13)比较同一个包的不同版本之间的差别

用法:dpkg –compare-versions ver1 op ver2

(14)显示帮助信息

用法:dpkg –help

(15)显示dpkg的Licence

用法:dpkg –licence (or) dpkg –license

(16)显示dpkg的版本号

用法:dpkg –version

(17)建立一个deb文件

用法:dpkg -b direc×y [filename]

(18)显示一个Deb文件的目录

用法:dpkg -c filename

(19)显示一个Deb的说明

用法:dpkg -I filename [control-file]

(20)搜索Deb包

用法:dpkg -l package-name-pattern

示例:dpkg -I vim

(21)显示所有已经安装的deb包,同时显示版本号以及简短说明

用法:dpkg -l

(22)报告指定包的状态信息

用法:dpkg -s package-name

示例:dpkg -s ssh

(23)显示一个包安装到系统里面的文件目录信息

用法:dpkg -L package-Name

示例:dpkg -L apache2

(24)搜索指定包里面的文件(模糊查询)

用法:dpkg -S filename-search-pattern

(25)显示包的具体信息

用法:dpkg -p package-name

示例:dpkg -p cacti

(26)有些软件很难卸载,而且还阻止了别的软件应用,就需要使用如下命令

用法: dpkg --force-all --purge packagename

示例: dpkg --force-all --purge xinetd

(27)常见的问题:

a.安装Ubuntu或者Debian以后,想要知道软件安装到具体的路径,可以使用 dpkg -L 命令来查看。

b.如果想暂时删除程序以后再安装,可以使用 dpkg -r 命令

3 aptitude 的使用方法

aptitude是Debian GNU/Linux系统中,非常神奇的的软件包管理器,基于大名鼎鼎的APT机制,整合了dselect和apt-get的所有功能,并提供的更多特性,特别是在依赖关系处理上。

aptitude与apt-get一样,是Debian及其衍生系统中功能极其强大的包管理工具。与apt-get不同的是aptitude在处理依赖问题上更佳一些。

举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包,这样系统中不会残留无用的包,整个系统更为干净。

aptitude常用的使用方法如下:

(1) 更新可用的包列表

用法: aptitude update

(2) 升级可用的包

用法: aptitude upgrade

(3) 将系统升级到新的发行版

用法: aptitude dist-upgrade

(4) 安装软件包

用法: aptitude install pkgname

示例: aptitude install php5 php5-gd php5-curl php5-sqlite php5-mysql

(5) 删除软件安装包

用法: aptitude remove pkgname

示例: aptitude remove php5

(6) 删除软件包及其配置文件

用法: aptitude purge pkgname

示例: aptitude purge gcc

(7) 搜索软件包

用法: aptitude search string

示例: aptitude search samba

(8) 显示包的详细信息

用法: aptitude show pkgname

示例: aptitude show vsftpd

(9) 删除下载的包文件

用法: aptitude clean

(10) 仅删除过期的包文件

用法: aptitude autoclean

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值