Python—linux基础

文章目录

  • Linux基础
    • 文件和目录操作的基本指令
      • pwd(print working directory)
      • cd(change directory)
      • ls
      • 文件颜色
      • mkdir
      • touch
      • rmdir
      • rm
      • mv
      • cp
      • 文件搜索命令
        • find
        • locate
        • which
        • whereis
      • 压缩解压命令
        • gzip命令
        • gunzip
        • tar -zar 命令
        • zip命令
        • unzip 解压
        • bzip2
        • bunzip2
    • 用户及管理命令
      • exit命令
      • 用户(user)和用户组(group)管理命令
    • 帮助命令
    • man
    • 系统管理命令
      • date
      • cal
      • ps
      • 检测磁盘空间
      • 进程终止
      • ifconfig
    • **软件包管理**
      • **1 apt-get的使用方法**
      • **2 dpkg的使用方法**
      • **3 aptitude 的使用方法**

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

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

如果觉得 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

你可能感兴趣的:(Python—linux基础)