Linux,Windows,MacOS,操作系统,基于Unix发展而来
Linus Torwards
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:~$
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常见选项参数
选项参数 | 说明 |
---|---|
-m | 为目录指定访问权限 |
-p | 建立目录时,如果父目录不存在,则与子目录一起建立 |
-v | 为每个目录显示提示信息 |
创建文件
格式
touch [选项] 文件名
在当前目录下创建文件
在指定目录下创建文件
指定文件格式
一次创建多个文件
touch file1 file2 file3
touch file{4..7}
选项参数如下表:
选项参数 | 说明 |
---|---|
-a | 仅修改访问时间 |
-c | 仅修改文件的时间,若该文件不存在则不创建新文件。 |
-d | 后面可以接欲修改的日期而不用目前的日期,或用 --d=“日期或时间” |
-m | 仅修改mtime |
-t | 后面可以接欲修改的时间而不用目前的时间,格式为[YYMMDDhhmm] |
复制
cp 源文件(目录) 目标文件(目录)
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命令和find命令的区别:
find命令是全盘检索。
locate是在文件资料库中进行搜索。
因此,locate命令的执行速度比find快。这里 需要注意的是,文件资料库是需要不断更新的。我们新建的文件如果不更新文件资料库,就无法使用locate查询。
手动更新资料库,我们可以使用updatedb命令,但对于/tmp目录下的新建文件,是无法更新的,因为/tmp目录不属于文件资料库的收录范围。
作用:搜索命令所在的目录
which [命令]
作用:搜索命令所在目录及帮助文档的路径
格式
where [命令]
作用:压缩文件,文件拓展名为.gz
格式:
gzip [需要压缩的文件]
该命令只能压缩文件,而不能压缩目录,并且压缩后不保留源文件
作用:解压.gz格式文件
gunzip [压缩文件名]
作用:将文件压缩为.tar.gz格式
格式:
tar [选项] [压缩后的文件名] 目录
选项说明:
-c :打包
-v :显示详细信息
-f :指定文件名
-z :打包文件同时压缩文件
解压缩
格式:
tar 选项 [.tar.gz格式的文件名] [指定解压后文件存放目录,默认是当前]
选项说明:
-x :解包
-v :显示详细信息
-f :指定解压文件
-z :解压缩
作用:将文件或者目录压缩为.zip格式
格式:
zip -r [压缩后文件名] 要压缩的文件或者目录
-r :压缩目录及目录内的所有文件(夹)
格式
unzip [.zip格式拓展名文件]
作用:将文件压缩为.bz2格式
注意,只能压缩文件
格式
bzip2 [/-k] 文件
-k,保留源文件
作用:解压.bz2格式压缩文件
格式
bunzip2 [/-k] 文件
Exit命令用来退出登录账户。如果当前是图形界面,退出当前终端;如果是使用ssh远程登录,退出远程登陆账户;如果是切换后的登陆用户,则退出返回上一个登陆账号。
用户(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
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 工具信息。
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
ps查看进程的详细情况,常用选项
选项 | 作用 |
---|---|
-a | 显示终端上的所有进程,包括其他用户的进程 |
-u | 显示进程的详细状态 |
-x | 显示没有控制终端的进程 |
-r | 显示正在运行的进程 |
-w | 显示加宽,以便显示更多的信息 |
df
sudo df -m
选项 | 作用 |
---|---|
-a | 显示所有文件系统和磁盘使用情况 |
-m | 以1024字节为单位显示 |
-t | 显示各指定文件系统的磁盘使用 |
-T | 显示文件系统 |
kill
kill [-signal] pid
signal:信号值0-15
9,表示绝对终止,用来终止一般信号无法终止的进程
查看或者配置网卡信息
高级包装工具(英语: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文档一并删除。
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 命令
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