严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。详情参见:https://baike.baidu.com/item/linux/27050?fr=aladdin
常见的发行版本如下:
十大 Linux 服务器发行版排行榜:http://os.51cto.com/art/201612/526126.htm
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广
单用户操作系统:指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源,Windows XP之前的版本都是单用户操作系统
多用户操作系统:指一台计算机在同一时间可以由多个用户使用,多个用户共同享用系统的全部硬件和软件资源
Unix 和 Linux 的设计初衷就是多用户操作系统
4.2.1 Windows下的文件系统
在Windows下,打开“计算机”,我们看到的是一个个的驱动器盘符:
每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:
4.2.2 Linux 下的文件系统
在Linux下,我们是看不到这些驱动器盘符,我们看到的只有文件夹(目录):
Ubuntu没有盘符这个概念,只有一个根目录 /,所有文件都在它下面
位于 /home/user,称之为用户工作目录或家目录,表示方式: /home/user/ ,如下图所示:
/:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始
当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录
/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等
/boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有
/etc/inittab
/etc/fstab
/etc/init.d
/etc/X11
/etc/sysconfig
/etc/xinetd.d
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下
~ 表示当前用户的家目录
~edu 表示用户 edu 的家目录
/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
/opt:给主机额外安装软件所摆放的目录
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
/root:系统管理员root的家目录
/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能"查看"而不能设置和使用
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内
/usr:应用程序存放目录
/usr/bin:存放应用程序
/usr/share:存放共享数据
/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
/usr/local:存放软件升级包
/usr/share/doc:系统说明文件存放目录
/usr/share/man:程序说明文件存放目录
/var:放置系统执行过程中经常变化的文件
/var/log:随时更改的日志文件
/var/spool/mail:邮件存放的目录
/var/run:程序或服务启动后,其 PID 存放在该目录下
ps:不需要死记硬背,对于常用命令,用的多了,自然就记住了,切记不要尝试一次学会所有的命令,有些命令是非常不常用的,临时遇到,临时百度就可以。
command [-options] [parameter]
说明:
command:命令名,相应功能的英文单词或单词的缩写
[-options]:选项,可用来对命令进行控制,也可以省略
parameter:传给命令的参数,可以是零个、一个或者多个
[] 代表可选
5.3.1 --help
command --help
说明:显示command命令的帮助信息
5.3.2 man
man command
说明:查阅command命令的使用手册
man是 manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明。
操作键 | 功能 |
Enter | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出手册 |
/keyword | 搜索keyword字符串 |
空格 | 显示手册页的下一屏,与f键功能一样 |
命令 | 对应英文 | 作用 |
ls | list | 查看当前文件夹下的内容 |
pwd | print work directory | 查看当前所在文件夹 |
cd 目录名 | change directory | 切换文件夹 |
touch 文件名 | touch | 如果文件不存在,新建文件 |
mkdir 目录名 | make directory | 创建目录 |
rm 文件名 | remove | 删除指定文件名的文件 |
clear | clear | 清屏 |
ps:
1.ctrl+shift+"+" 可以放到终端字体显示;ctrl+"-" 缩小终端字体显示
2.在敲出“文件”/“目录”/“命令”的前几个字母之后,按下“tab”键,如果输入的没有歧义,系统会自动补全;如果还存在其他“文件”/“目录”/“命令”,再按一下“tab”键,系统会提示可能存在的命令
3.按“上”/“下”光标键可以在曾经使用过的命令之间来回切换,如果想要退出选择,并且不想执行当前选中的命令,可以按“ctrl“ + ”c”
5.4.1 ls命令说明ls
是英文单词"list"的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于DOS下的 "dir"
命令
1)ls常用选项:
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合“-l”以人性化的方式显示文件大小
小插曲: 计算机中文件大小的表现方式(了解即可)
ps:Linux文件或者目录名称最长可以有256个字符;以"."开头的文件为隐藏文件,需要用"-a"参数才能显示;("."代表当前目录;".."代表上一级目录)
在Linux终端中,命令的选项可以分开输入,也可以合在一起输入
2)ls与通配符的使用
案例1:找到以"1"开头的文件
案例2:找到以“1”结尾的文件,可以看到,我开始输入“*1”点击回车是没有反应的,输入“*1.txt”才可以
5.4.2 "cd"命令说明
cd是"change directory"的简写,其功能为更改当前的工作目录。
注意:Linux所有的目录和文件名都是大小写敏感的
我们也要明白相对路径和绝对路径的概念:
相对路径:表示相对于当前目录所在的目录位置,在输入路径时,最前面不是"/"或者"~"。
绝对路径:表示从”根目录/家目录“开始的具体目录位置,在输入路径时,最前面是"/"或者"~"。
5.4.3 创建和删除操作
1>touch 文件名:如果文件不存在,可以创建一个空白文件;如果文件已经存在,可以修改文件的末次修改日
2>mkdir -p 文件夹:可以递归创建目录
3>rm 文件名/文件夹:删除文件或目录
-f:强制删除,忽略不存在的文件,无需提示
-r:递归地删除目录下的内容,删除文件夹时必须加此参数
rm命令也可以与通配符结合使用:
使用"rm"命令一定要小心,因为文件删除后不能恢复
5.4.4 拷贝和移动文件
1>tree -d:只显示目录。
2>"cp"命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的"copy"命令。
相关选项:
-i: 覆盖文件前提示
-r: 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
如上图所示,复制目录必须加“-r”
3>"mv"命令可以用来移动文件或目录,也可以给文件或目录重命名
相关选项:-i: 覆盖文件前提示
5.4.5 查看文件内容
1>cat
会一次显示所有的内容,适合查看内容较少的文本文件,相关选项:
-b: 对非空输出行编号
-n: 对输出的所有行编号
ps:Linux 中还有一个"nl"的命令和"cat -b"的效果等价
2>more命令可以用于分屏显示文件内容,每次只显示一页内容,适合于查看内容较多的文本文件,操作键与“man”命令一样,比如按enter键往下滚动一行
3>Linux系统中"grep"命令是一种强大的文本搜索工具,"grep"允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式查找。
-n: 显示匹配及行号
-v: 显示不包含匹配文本的所有行(相当于求反)
-i: 忽略大小写
常用的两种模式查找:
^a: 行首,搜寻以"a"开头的行
key$: 行尾,搜寻以"key"结束的行
5.4.6 重定向">"和">>"1
>"echo"
会在终端中显示参数指定的文字,通常会和重定向联合使用
2>Linux允许将命令执行结果重定向到一个文件中
从如上示例可以看出,">" 表示输出,会覆盖文件原有的内容; ">>"表示追加,会将内容追加到已有文件的末尾
5.4.7 管道"|"
Linux允许将一个命令的输出可以通过管道做为另一个命令的输入,可以理解现实生活中的水管,水管一头进水,另一头出水,这里"|"分为左右两端,左端进水(写),右端出水(读)
常用的管道命令有:
more:分屏显示内容
grep:在命令执行结果的基础上查询指定的文本
5.4.8 关机/重启
shutdown:关机/重新启动
"shutdown"命令可以”安全关闭“或者”重新启动系统“
-r:重新启动
温馨提示:
不指定选项和参数,默认表示1分钟之后关闭电脑;
远程维护服务器时,最好不要关闭系统,而应该重新启动系统
常用命令:
1>重新启动操作系统,其中now表示现在,即重启动作会马上执行
shutdown -r now
2>立刻关机
shutdown now
3>系统在今天的20:25关机
shutdown 20:25
4>系统再过十分钟后自动关机
shutdown +10
5>取消之前指定的关机计划
shutdown -c
5.4.9 查看或配置网卡信息
网卡是一个专门负责网络通讯的硬件设备,IP地址是设置在网卡上的地址信息,我们可以把电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码。
IP地址:每台联网的电脑上都有IP地址,是保证电脑之间正常通讯的重要设置。
注意:每台电脑的IP地址不能相同,否则会出现IP地址冲突,并且没有办法正常通讯。
1>ifconfig: 对应英文configure a network interface,可以查看/配置计算机当前的网卡配置信息。
ps:一台计算机中有可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以"ensXX"
表示;"127.0.0.1"
被称为本地回环/环回地址,一般用来测试本机网卡是否正常
2>ping ip地址: ping检测到目标ip地址的连接是否正常
"ping"一般用于检测当前计算机到目标计算机之间的网络是否通畅,时间数值越大,速度越慢。
原理:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机的存在和网络是否流畅。
ps: "ping"的工作原理与潜水艇的声纳相似,"ping"这个命令就是取自声纳的声音网络管理员之间也常将"ping"用作动词————ping一下计算机X,看他是否开着。
在Linux中,SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上。SSH 客户端是一种使用"Secure Shell(SSH)"
协议连接到远程计算机的软件程序,它是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
优点:
1)利用SSH协议可以有效防止远程管理过程中的信息泄露;
2)通过SSH协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗;
3)SSH的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度。
1>域名和端口
域名由一串用点分隔的名字组成,是IP地址的别名,主要是为了方便用户记忆,例如:www.baidu.com。
端口包括物理端口和逻辑端口。物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。一个IP地址的端口通过16bit进行编号,最多可以有65536个端口。端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。
IP地址:通过IP地址找到网络上的计算机
端口号:通过端口号可以找到计算机上运行的应用程序
SSH服务器的默认端口号是22,如果是默认端口号,在连接的时候,可以省略。
序号 | 服务 | 端口号 |
01 | SSH 服务器 | 22 |
02 | Web 服务器 | 80 |
03 | HTTPS | 443 |
04 | FTP 服务器 | 21 |
案例:我们先通过ping www.baidu.com可以看到百度的服务器IP是119.75.217.26,然后打开浏览器输入此IP,回车后便可以访问百度,web默认端口号是80,所以我们输入119.75.217.26:80也是可以访问到百度的。
如果把端口号改成81就出问题了
2>SSH客户端的简单使用
ssh [-p port] user@remote 此命令用于访问远程SSH服务器
1)user是在远程机器上的用户名,如果不指定的话默认为当前用户
2)remote是远程机器的地址,可以是IP/域名,或者别名
3)port是SSH Server监听的端口,如果不指定,就为默认值22
温馨提示:使用exit退出当前用户的登录
注意:ssh这个终端命令只能在Linux或者UNIX系统下使用,如果在Windows系统中,可以安装PuTTY或者XShell客户端软件:
Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html(需要科学上网)
XShell http://xshellcn.com
温馨提示:在工作中,SSH 服务器的端口号很有可能不是 22,如果遇到这种情况就需要使用 -p 选项,指定正确的端口号,否则无法正常连接到服务器
下面我来演示用XShell6连接Ubuntu
设置完之后点连接,我在连接的时候出问题了,如下图所示:
连接失败之后,我用ssh命令重新连接还是失败,这是怎么回事?难道SSH服务没开?
我在尝试用sudo service ssh start开启SSH时,提示没有找到SSH服务,这么说是我的Ubuntu上压根就没这玩意,我还以为SSH是Ubuntu自带的。那咱就sudo apt-get install ssh安装一下这玩意,安装完成之后重启服务。然后在XShell6中重新建立会话窗口连接Ubuntu,出现如下提示点击“授权并保存”即可,之后输入密码点确定就可以了。
当出现用户名@ubuntu即表示连接成功
终于可以快乐地玩耍了,我先试试远程重启:
愚人节可以恶搞同事,再胆子大点可以恶搞领导
3>SCP
scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令,它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写的-P而不是小写的。
注意:scp这个终端命令只能在Linux或者UNIX系统(mac os也可以,因为它是基于unix内核的图形化操作系统)下使用,如果在Windows系统中,可以安装PuTTY,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输。
"scp -P port helloworld.py user@remote:Desktop/helloworld.py"此命令可以实现把本地当前目录下的helloworld.py文件复制到远程家目录下的Desktop/helloworld.py
注意:后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
"scp -P port user@remote:Desktop/01.py 01.py"此命令可以实现把远程家目录下的Desktop/01.py文件复制到本地当前目录下的01.py
加上 -r 选项可以传送文件夹,比如把当前目录下的demo文件夹复制到远程家目录下的Desktop,可以用如下命令实现:
scp -r demo user@remote:Desktop
相信大多数人用的都是Windows系统,那我们就用FileZilla来一顿操作,点击这里下载最新版本FileZilla,我用的是目前最新的3.41.2,下载完成后进行傻瓜式安装,打开软件后按照下图所示填写相关信息,点击快速连接。
不知道你们这样操作有问题没,我是出问题了,提示无法连接到服务器,可是我的信息填写完全正确,why?
我的解决方案是这样的:
1.把端口号改成22,FileZilla会自动把主机切成SFTP传输
2.在FileZilla客户端点击文件>>站点管理器中新建站点,然后选择SFTP协议即可
大家有其他解决方案可以在评论区留言与我交流~
下图是FileZilla实现拷贝文件及目录的方法,是不是so easy~
4>SSH高级使用(下面的内容知道就行,工作中很少用)
1)免密码登录
执行"ssh-keygen"即可生成SSH钥匙,一路回车即可
执行"ssh-copy-id -p port user@remote",可以让远程服务器记住我们的公钥
温馨提示:有关SSH的配置信息都保存在用户家目录下的".ssh"目录下
我用的是Windows系统(不是因为我穷,是我觉得苹果系统不好用,而且是美国货,我这么爱国,才不会用,你们应该会相信的吧),就用Ubuntu终端服务器登录终端服务器自己的方法来给大家演示吧~
首先我们查看家目录下的所有文件,没有发现.ssh文件夹。
这是因为.ssh文件夹需要在终端登录ssh后才会生成,我这里自己登录自己。
再次查看家目录下的所有文件,可以看到已经生成了.ssh文件夹,并且在.ssh中有一个叫known_hosts的文件,这个文件其实就是我们刚才输入yes时保存的授权信息,当我们下次再登录这个服务器的时候,就不会再提示授权了。
接下来我们执行"ssh-keygen"命令,一路回车即可。之后我们可以看到在.ssh下有多了两个文件,分别是id_rsa(私钥)、id_rsa.pub(公钥)。
我们再执行“ssh-copy-id -p port user@remote”把公钥上传到远程服务器。
我们再次查看.ssh文件,发现又多了个authorized_keys文件,而且内容跟id_rsa.pub一模一样,其实这个就是我们上传到服务器的公钥。
免密登录原理(非对称加密算法)图解
2)配置别名
我们在终端使用ssh的频率还是很高的,那么每次都输入ssh -p port user@remote,时间久了会觉得很麻烦,特别是当user,remote和port都得输入时就更头疼了,而且还不好记忆,而配置别名可以让我们偷懒,譬如用:ssh myserver来替代这么一长串,那么就在 ~/.ssh下创建config文件, 里面追加以下内容:
Host xxx
HostName ip地址
User xxx
Port 22
保存之后,即可用 ssh mac 实现远程登录了,scp 同样可以使用。
温馨提示:大家可能在终端使用“gedit filename”打开文件会报错,点击这里可能会帮到你哟~
5.6.1 用户和权限的基本概念
对文件/目录 的权限包括:
1> 组
为了方便用户管理,提出了组的概念,如下图所示:
在实际应用中,可以预先针对组设置好权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限。
2>ls -l 命令扩展
"ls -l"
可以查看文件夹或文件的详细信息,从左到右依次是:
d"
表示目录,"-"则表示文件
3>chmod
简单使用
chmod可以修改用户和组对文件及目录的权限,命令格式为:chmod +/-rwx 文件名或目录名。
温馨提示:以上方式会一次性修改拥有者和组的权限。
4>超级用户
Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限,在大多数版本的Linux中,都不推荐直接使用root账号登录系统(没有特殊需要,建议大家不要登录root账户)。在Linux安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”,比如我系统中的当前用户“zwx530940”。
那么怎么登录root用户呢?look!
su是"substitute user"的缩写,表示使用另一个用户的身份。sudo命令用来以其他身份来执行命令,预设的身份为root,用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码,若其未经授权的用户企图使用sudo,则会发出警告邮件给管理员。
5.6.2 组管理
组信息保存在"/etc/group"
文件中,"etc"目录放的都是系统配置相关的信息,看不懂的信息不要乱删,以免系统崩溃或某些常用功能异常。对组的操作无非就是增删改查。
命令 | 功能 |
groupadd 组名 | 添加组 |
groupdel 组名 | 删除组 |
chgrp -R 组名 文件/目录名 | 递归修改文件/目录的所属组 |
cat /etc/group | 查看确认组信息 |
ps:创建组或删除组的终端命令都需要通过sudo
执行。
第一次我没有加sudo,提示被拒绝,第二次通过sudo groupadd Android添加了Android组,通过cat /etc/group即可查看刚刚创建的组信息:
5.7.1 创建用户---设置密码---删除用户
1>相关终端命令
命令 | 功能 | 说明 |
useradd -m -g 组 新建的用户名 | 添加新用户 | -m 自动建立用户家目录 -g 指定用户所在的组,否则会建立一个与用户名同名的组 |
passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用passwd可以修改自己的账户密码 |
userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在"/etc/passwd"文件中 |
下面我来演示添加新用户并设置密码:
新用户添加成功后,我们在Windows中用Xshell登录新用户。在之前创建的"新建会话"上点击鼠标右键,选择属性,在属性界面填写新用户的用户名和密码,最后点击连接就可以了。
创建用户时,如果忘记用"-m"
选项指定新用户的家目录,该怎么办?最简单的方法就是删除用户,重新创建!
2> 查看用户信息
我们已经知道用户信息存放在/etc/passwd文件中,其实这个文件中的用户信息是以":"隔开分组显示的,由6个分号组成的7个信息,分别是:用户名、密码(x,表示密码是加密的)、UID(用户标识)、GID(组标识)、用户全名或本地帐号、家目录、登录使用的Shell(就是登录之后,使用的终端命令,ubuntu默认是dash)。
命令 | 功能 |
id [用户名] | 查看用户UID和GID信息 |
who | 查看当前所有登录的用户列表 |
whoami | 查看当前登录用户的账户名 |
3>修改用户信息usermod
usermod可以用来设置用户的主组、附加组和登录Shell,命令格式如下:
修改用户的主组(passwd中的GID):usermod -g 组 用户名
修改用户的附加组:usermod -G 组 用户名
修改用户登录Shell:usermod -s /bin/bash 用户名
相关概念:
主组:通常在新建用户时指定,如果不指定,系统会默认指定主组名和用户名相同,在etc/passwd的第4列GID对应的是主组。
附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限。
Shell:看这里,linux下的shell又是什么?看这里(度娘有时候也是满靠谱的~)
注意:默认使用useradd添加的用户是没有权限使用sudo以root身份执行命令的,可以使用以下命令,将用户添加到sudo附加组中
bash usermod -G sudo 用户名。设置了用户的附加组之后,需要重新登录才能生效!
Ubuntu默认的shell是dash,如果不改成bash,你或许会发疯~按上键输出"[[A^",按删除键输出"^H"!!!
4>which命令可以查看执行命令所在位置
我们从上图可以看到有些执行命令储存在bin中,有些储存在sbin中,那么他们区别在哪?
在Linux中,绝大多数可执行文件都是保存在/bin、/sbin、/usr/bin、/usr/sbin中:
ps:cd这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法找到cd命令的位置
5>切换用户
命令如下:
su - 用户名:切换用户,并且切换目录;"-"可以切换到用户家目录,否则保持位置不变 |
exit:退出当前登录账户
”su“不接用户名,可以切换到root用户,但是不推荐使用,使用root太不安全了
6>修改文件权限
命令如下:
chown 用户名 文件名或者目录名:修改文件或目录的拥有者
chgrp -R 组名 文件名或目录名:递归修改文件或目录的组
chmod -R 755 文件名或目录名:递归修改文件或目录的权限
之前我们已经学过改变文件或目录权限可以用“chmod +/-rwx 文件名或目录名”这个命令,但这个命令会给所有用户添加或删除权限,不能精确到拥有者、组、其他用户。其实chmod
在设置权限时,可以简单地使用三个数字分别对应拥有者、组和其他用户的权限,如下表所示:
常见数字组合有(u表示用户/g表示组/o表示其他):
777 ===> u=rwx,g=rwx,o=rwx
755 ===> u=rwx,g=rx,o=rx
644 ===> u=rw,g=r,o=r
5.8.1 时间和日期
date:查看系统时间
cal:"calendar"查看日历,"-y"选项可以查看一年的日历
5.8.2 磁盘信息
df -h:"disk free"显示磁盘剩余空间
du -h [目录名]:"disk usage"显示目录下的文件大小,不加目录名默认显示当前目录下子文件的大小
5.8.3 进程信息
ps aux:"process status"查看进程的详细状况
top:动态显示运行中的进程并且排序
kill [-9] 进程代号:终止指定代号的进程,"-9"表示强行终止
"ps"默认只会显示当前用户通过终端启动的应用程序
ps选项说明如下:
选项 | 含义 |
a | 显示终端上的所有进程,包括其他用户的进程 |
u | 显示进程的详细状态 |
x | 示没有控制终端的进程 |
提示:
1.使用"kill"命令时,最好只终止由当前用户开启的进程,而不要终止"root"身份开启的进程,否则可能导致系统崩溃。
2.要退出"top"可以直接输入"q"
5.9.1 查找文件命令find
命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,命令格式是:
find [opthons] [查找起始路径] [查找条件] [处理动作]
如果省略路径,表示在当前文件夹下查找。之前学习的通配符,在使用find命令时可用,有关find的更多使用详见:https://blog.csdn.net/qq_35101450/article/details/90244986
5.9.2 软链接
软链接可以理解为类似于Windows下的快捷方式,创建软链接的命令格式是:8ln -s 被链接的源文件 链接文件
该睡觉了,大家晚安~未完待续。。。