Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的性能稳定的操作系统,可免费使用并自由传播。
Linux是众多操作系统之一 , 目前流行的服务器和 PC 端操作系统有 Linux、Windows、UNIX 等
Linux的创始人 Linus Torvalds 林纳斯 (同时也是git的开发者)
Linux主要的发行版:
Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain[蝶变]、Fedora、SuSE、OpenSUSE
unix是怎么来的
理查德·斯托曼发起的GNU计划
在自由的时代用户应该免费享有对软件源代码阅读、修改的权利。
软件公司可以靠提供服务和训练获得盈利。
Linux和Unix的关系
(Redhat又衍生出两个版本,redhat和centOS)
Refrences:
https://www.w3cschool.cn/linux/
http://c.biancheng.net/linux_tutorial/
《鸟哥的Linux私房菜》 http://shouce.jb51.net/vbird-linux-basic-4/
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念
ls -al(l):
ls -l(别名ll 就可以查看)
从左到又每一列的信息依次为 权限、 连接数、 所有者 、 用户组 、 文件容量 、 修改日期 、 文件名
第一列的十位字母代表的是文件的类型和权限,第一个字符代表这个文件是“目录、文件或链接文件等”含义:
d:代表是目录
-:代表是文件
l:代表是连接文件
b:代表设备文件里可供存储的接口设备
c:代表设备文件里面的串行端口设备。如键盘,鼠标等
后边9个字符,每3个字符为一组,“rwx”(可读、可写、可执行eXecute)这三个参数的组合,(rwx3者的顺序不能改变,换句话说,第一个要么是r,要么啥都没有,不能是w或者x),三个组合分别代表“文件所有者的权限”、“同用户组的权限”、“其他非本用户组的权限”。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-76dUc88w-1574738594909)(https://i.loli.net/2019/11/19/1rkOtD9GxQ7BAZ6.png)]
权限的重要性:
系统保护的功能;
团队开发软件或数据共享的功能;
改变文件属性和权限:
chgrp: 改变文件所属用户组(change group)
chgrp [-R] users 目录或文件
: 将这个路径下的文件的用户组改成“users“chown: 改变文件所有者(change owner)
chown [-R] 用户名 文件或目录
: 将这个目录下的所有文件的所有者都改成这个用户名。chown [-R] 用户名:用户组名 目录/文件
(:和 . 都可以)chown [-R] 用户名.用户组名 目录/文件
chown [-R] .用户组名 目录/文件
chmod: 改变文件的权限
改变文件的权限有两种方法:用数字或者符号进行权限的修改
Linux文件的基本权限有9个,分别是owner、group、others三种身份各有自己的read、write、execute 权限。在这种方式中,r=4、w=2、x=1,将每一组的三个值加起来,组成一个三位数即可。例如:
文件主:rwx = 4+2+1=7;
同组用户:rwx=4+2+1=7;
其他人:---=0+0+0=0;
所以命令如下:
chmod [-R] 770 文件/目录
用符号进行权限的修改
用u、g、o 代表user、group、others三种身份的权限,a 代表 all,也就是全部的身份。 +(加入),-(除去),=(设置)。
chmod u/g/o/a +/-/= r/w/x 文件/目录
例子:文件主能够读、写、执行;同组用户和其他用户能够读、执行。
chmod u=rwx,go=rx 文件名
假设原先不知道文件的属性,现在只想让所有的人能够执行这个文件,则:
chmod a+x 文件/目录
假设原先不知道文件的属性,现在只想让同组用户和其他用户无法写,则:
chmod go-w 文件/目录
目录和文件的权限意义:
权限对文件的意义.
权限对目录的意义
r:代表具有读取目录结构列表的权限(你可以使用ls命令将目录下的所有列表读出来)
w:这个权限对目录来说可是很强大的,表示你具有更改该目录结构列表的权限
主要有:
x:目录虽然不可以被拿来执行,但是目录的x代表的是用户能否进入该目录成为工作目录的用途。(所谓工作目录就是你当下的目录,也就是时候,如果目录不具有x权限,那么你就不能通过cd命令进入到该目录下工作)。
能不能进入某一目录,只与该目录的x 权限有关。
Linux的单一文件或者目录的最大容许文件名为255个字符,包含完整路径名记(/)的完整文件名为4096个字符。
linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。在Linux世界里,一切皆文件
【Linux系统目录结构】
登录系统后,在当前命令窗口下输入 ls / 你会看到
以下是对这些目录的解释:
/bin bin是Binary的缩写。这个目录存放着最经常使用的命令。
/boot 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all。
/root 该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv 该目录存放一些服务启动之后需要提取的数据。
/sys 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs ,sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp 这个目录是用来存放一些临时文件的。
/usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。 /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法啦!
ls(查看文件与目录)
cd(切换目录)
pwd(显示当前所在目录)
mkdir(创建新目录)
mkdir 【-mp】目录名称
加了-p 参数,可以自行创建多层目录, 加了-m,可以强制设置属性。
mkdir test
mkdir -p test1/test2/test3/test4*
mkdir -m 711 test2(给予新目录drwx--x--x的权限)
rmdir(删除“空”目录)
rmdir [-p] 目录名称(-p 可以连同上层空目录一起删除)
rmdir -p test1/test2/test3/test4
cp(复制文件或目录)
cp [-adfilprsu] 源文件(source) 目标文件(destination
-a:相当于-pdr的意思;
-i:若目标文件已经存在且无法开启,则删除后再尝试一次;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用于目录的复制行为;
cp test testtest (将test文件重命名为testtest)
cp /var/log/wtmp .(复制到当前目录.)
cp -r /etc/ /tmp(复制etc目录下的所有内容到/tmp下,权限可能被改变了)
rm(移除文件或目录)
rm [-fir] 文件或目录
#不能直接删除目录,删除目录的话需要加-r
rm -r /tmp/test (root用户默认会加入-i参数,询问,删除的是test文件,没有删除tmp)
touch /tmp/aaa (新建空文件aaa)
rm /tmp/aaa(直接删除文件aaa)
mv(移动文件与目录,或更名)
mv [-fiu] source destination
mv aaa test(将文件aaa移动到目录test中)
mv test mytest(将test重命名为mytest)
mv aaa bbb ccc test(将aaa、bbb、ccc多个源文件或目录全部移动到test目录中)
cat:由第一行开始显示文件内容;
tac:从最后一行开始显示,可以看出tac是cat的倒写形式;
nl:显示的时候,顺便输出行号;
more:一页一页的显示文件内容;
less:与more类似,但是可以往前翻页;
head:只看开头几行;
tail:只看结尾几行;
od:以二进制的方式读取文件内容
直接查看文件内容 cat、tac、nl
cat(concatenate)
cat [-AbEnTv] 文件
-A:相当于-vET的整合参数,可列出一些特殊字符,而不是空白而已;
-b:列出行号,仅针对非空白行做行号显示,空白行不标行号;
-E:将结尾用断行字符 $ 显示出来;
-n:打印出行号,连同空白行也会有行号,区别于-b;
-T:将Tab按键以^T显示出来;
-v:列出一些看不出来的特殊字符
cat -n 文件路径 | tail -n +5 | head -n 6 // 显示 5 ~ 10 行的内容, 包括5 和10
cat 文件路径 | head -n 10 | tail -n +5 //同上
tac(反向显示)
nl(添加行号打印)
nl [-bnw] 文件
可翻页查看文件内容 more和less
more(一页一页翻动)
如果文件内容较多,more 命令之后,会继续等到后续操作
less(一页一页翻动)
less可以用向上、下按键的功能前后翻页,也可以向上查询
空格键(Space):向下翻页;
[PageDown]:向下翻动一页
[PageUp]:向上翻动一页
Enter:向下滚动一行;
/字符串:向下查询该字符串;
?字符串:向上查询该字符串;
n:重复前一个查询(与/或?有关);
N:反向重复前一个查询(与/或?有关);
q:直接离开less,不再显示该文件内容;
数据选取查看 head和tail
head(取出前面几行)
head [-n number] 文件(默认显示十行)
tail(取出后边几行)
tail [-n number] 文件
tail [-f] 文件
touch(修改文件时间或者创建新文件)
touch [-acdmt] 文件
-a:仅修改访问时间;
-c:仅修改访问时间,若该文件不存在则不创建新文件;
-d:后面可以接想要修改的日期而不用目前的日期;
-m:仅修改mtime;
-t:后面可以接想要修改的时间而不用目前的时间;
在Linux的系统中使用文本编辑器来编辑Linux参数配置文件是一件相当重要的事情,所以至少要熟悉一种文本编辑器。
那为什么一定要学会vim呢。因为:
vim 键盘图:
vim其实可以视为vi的高级版本。
vi共分为3种模式,分别是一般模式、编辑模式和命令行模式。
一般模式
以vi打开一个文件就直接进入一般模式(默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
编辑模式
在一般模式中可以进行删除、复制、粘贴等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
命令行模式
在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的!
一般模式与编辑模式及命令行模式可以互相转换,但编辑模式与命令行模式之间不可以互相转换
移动光标的方法 | |
---|---|
h 或 向左箭头键(←) | 光标向左移动一个字符 |
j 或 向下箭头键(↓) | 光标向下移动一个字符 |
k 或 向上箭头键(↑) | 光标向上移动一个字符 |
l 或 向右箭头键(→) | 光标向右移动一个字符 |
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可! | |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空格符的下一列 |
- | 光标移动到非空格符的上一列 |
n | 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。 |
0 或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字符处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字符处(常用) |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 |
M | 光标移动到这个屏幕的中央那一行的第一个字符 |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 |
G | 移动到这个档案的最后一行(常用) |
nG | n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu) |
gg | 移动到这个档案的第一行,相当于 1G 啊! (常用) |
n | n 为数字。光标向下移动 n 行(常用) |
查找与替换 | |
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用) |
?word | 向光标之上寻找一个字符串名称为 word 的字符串。 |
n | 这个 n 是英文按键。代表『重复前一个搜寻的动作』。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串! |
N | 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。 |
使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词! | |
:n1,n2s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。(常用) |
:1,$s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) |
:1,$s/word1/word2/gc | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用) |
删除、复制和粘贴 | |
x, X | 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) |
nx | n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 |
dd | 剪切游标所在的那一行(常用) |
D | 删除从当前光标到光标所在行尾的全部字符 |
ndd | n 为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 (常用) |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ | 删除游标所在处,到该行的最后一个字符 |
d0 | 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 |
yy | 复制游标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用) |
y1G | 复制游标所在列到第一列的所有数据 |
yG | 复制游标所在列到最后一列的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用) 粘贴到光标上一行§,下一行(P) |
J | 将光标所在列与下一列的数据结合成同一列 |
c | 重复删除多个数据,例如向下删除 10 行,[ 10cj ] |
u | 复原前一个动作。撤销(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦! | |
. | 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用) |
进入插入或替换的编辑模式 | |
---|---|
i, I | 进入插入模式(Insert mode): i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』。 (常用) |
a, A | 进入插入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』。(常用) |
o, O | 进入插入模式(Insert mode): 这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行!(常用) |
r, R | 进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) |
上面这些按键中,在 vi 画面的左下角处会出现『–INSERT–』或『–REPLACE–』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔! | |
[Esc] | 退出编辑模式,回到一般模式中(常用) |
进命令行的保存、离开等命令 | |
---|---|
:w | 将编辑的数据写入硬盘档案中(常用) |
:w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! |
:q | 离开 vi (常用) |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~ | |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 (常用) |
ZZ | 这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开! |
:w [filename] | 将编辑的数据储存成另一个档案(类似另存新档) |
:r [filename] | 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 |
:n1,n2 w [filename] | 将 n1 到 n2 的内容储存成 filename 这个档案。 |
:! command | 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息! |
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号! |
块选择
当我们按下v或者V或者【Ctrl】+v的时候,光标移动过的地方会开始反白
块选择的按键意义 | |
---|---|
v | 字符选择,会将光标经过的地方反白选择! |
V | 行选择,会将光标经过的行反白选择! |
[Ctrl]+v | 区块选择,可以用长方形的方式选择资料 |
y | 将反白的地方复制起来 |
d | 将反白的地方删除掉 |
多文件编辑
我们可以使用vim后面同时接好几个文件来同时打开
多文件编辑的按键 | |
---|---|
:n | 编辑下一个档案 |
:N | 编辑上一个档案 |
:files | 列出目前这个 vim 的开启的所有档案 |
多窗口功能
多窗口编辑按键 | |
---|---|
:sp [filename] | 开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新档案,否则表示两个窗口为同一个档案内容(同步显示)。 |
[ctrl]+w+ j[ctrl]+w+↓ | 按键的按法是:先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再按下 j (或向下箭头键),则光标可移动到下方的窗口。 |
[ctrl]+w+ k[ctrl]+w+↑ | 同上,不过光标移动到上面的窗口。 |
[ctrl]+w+ q | 其实就是 :q 结束离开啦! 举例来说,如果我想要结束下方的窗口,那么利用 [ctrl]+w+↓ 移动到下方窗口后,按下 :q 即可离开, 也可以按下 [ctrl]+w+q 啊! |
Linux磁盘管理好坏管理直接关系到整个系统的性能问题。
Linux磁盘管理常用三个命令为df、du和fdisk。
df命令参数功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示 。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:
df [-ahikHTm] [目录或文件名]
选项与参数:
将容量结果以易读的容量格式显示出来
[root@www ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdc2 9.5G 3.7G 5.4G 41% /
/dev/hdc3 4.8G 139M 4.4G 4% /home
/dev/hdc1 99M 11M 83M 12% /boot
tmpfs 363M 0 363M 0% /dev/shm
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。
语法:
du [-ahskm] 文件或目录名称
选项与参数:
实例 1
列出目前目录下的所有文件容量
[root@www ~]# du
8 ./test4 <==每个目录都会列出来
8 ./test2
....中间省略....
12 ./.gconfd <==包括隐藏文件的目录
220 . <==这个目录(.)所占用的总量
直接输入 du 没有加任何选项时,则 du 会分析当前所在目录的文件与目录所占用的硬盘空间。
实例 2
将文件的容量也列出来
[root@www ~]# du -a
12 ./install.log.syslog <==有文件的列表了
8 ./.bash_logout
8 ./test4
8 ./test2
....中间省略....
12 ./.gconfd
220 .
实例 3
检查根目录底下每个目录所占用的容量
[root@www ~]# du -sm /*
7 /bin
6 /boot
.....中间省略....
0 /proc
.....中间省略....
1 /tmp
3859 /usr <==系统初期最大就是他了啦!
77 /var
通配符 * 来代表每个目录。
与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。
fdisk 是 Linux 的磁盘分区表操作工具。
语法:
fdisk [-l] 装置名称
选项与参数:
磁盘格式化
磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs(make filesystem) 命令。
语法:
mkfs [-t 文件系统格式] 装置文件名
选项与参数:
磁盘检验
fsck(file system check)用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
语法:
fsck [-t 文件系统] [-ACay] 装置名称
选项与参数:
磁盘挂载与卸除
Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令。
磁盘挂载语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
umount [-fn] 装置文件名或挂载点
选项与参数:
在linux环境中,压缩文件的扩展名大多是.tar, .tar.gz, .tgz, .gz, .Z, .bz2;
Linux支持的压缩命令很多,且不同的命令所用的压缩技术不同,彼此可能无法相互压缩/解压文件。
*.Z compress 程序压缩的文件;
*.zip zip 程序压缩的文件;
*.gz gzip 程序压缩的文件;
*.bz2 bzip2 程序压缩的文件;
*.xz xz 程序压缩的文件;
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
*.tar.xz tar 程序打包的文件,其中并且经过 xz 的压缩
gzip [-cdtv#] 文件名
压缩文件为 *.gz 的文件,使用gzip压缩后原始文件就不再存在了
zcat/zmore/zless/zgrep和cat/more等指令类似,查看、查找压缩文件
gzip test.txt #压缩test.txt文件
gcat test.gz #查看test.gz文件内容
gzip -d test.gz #解压文件,和gunzip效果相同
zgrep -n 'http' services.gz #http 这个关键字在哪几行
gzip -c test > test.gz #压缩test,并保留原文件
bzip2 [-cdkzv#] 文件名
bzip2 则是为了取代 gzip 并提供更佳的压缩比而来的,用法和gzip几乎相同
tar 打包指令 , 将多个文件或目录包成一个大文件的指令
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
tar -cf all.tar *.jpg #将所有.jpg的文件打成一个名为all.tar的包,-c是表示产生新的包,-f指定包的文件名
tar -rf all.tar *.gif #将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思
tar -uf all.tar logo.gif #更新原来tar包all.tar中logo.gif文件
tar -tf all.tar #列出all.tar包中所有文件
tar -xf all.tar #解出all.tar包中所有文件
总结
1、*.tar 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、.tar.gz和.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
解压jdk到指定文件夹:
tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java
RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe
是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。
RPM包的名称格式: Apache-1.3.23-11.i386.rpm
rpm -qa
(功能描述:查询所安装的所有rpm软件包)
由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包
pm -qa |grep firefox #查询firefox软件安装情况
rpm -e RPM软件包
rpm -e --nodeps 软件包
选项 | 功能 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。 |
rpm -e firefox #卸载firefox软件
rpm -ivh RPM包全名
选项 | 功能 |
---|---|
-i | -i=install,安装 |
-v | -v=verbose,显示详细信息 |
-h | -h=hash,进度条 |
–nodeps | –nodeps,不检测依赖进度 |
YUM(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum [-y] [参数]
-y表示对所有提问都回答“yes”
参数 | 功能 |
---|---|
install | 安装rpm软件包 |
update | 更新rpm软件包 |
check-update | 检查是否有可用的更新rpm软件包 |
remove | 删除指定的rpm软件包 |
list | 显示软件包信息 |
clean | 清理yum过期的缓存 |
deplist | 显示yum软件包的所有依赖关系 |
默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163。
常用快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl+l | 清屏;彻底清屏是:reset |
ctrl + q | 退出 |
善于用tab键 | 提示(更重要的是可以防止敲错) |
上下键 | 查找执行过的命令 |
ctrl +alt | linux和Windows之间切换 |
man [命令或配置文件]
(功能描述:获得帮助信息)
man ls
help 命令
(功能描述:获得shell内置命令的帮助信息)
[root@hadoop101 ~]# help cd
cd:Change Directory切换路径
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd相对路径 | 切换路径 |
cd ~或者cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd … | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径,而非快捷方式路径 |
mkdir [-p] 要创建的目录
mkdir test #创建test目录
mkfir -p test/starfish #创建多级目录
rmdir test/starfish #删除test下的空文件夹starfish
touch test/helloworld.txt #test文件夹下创建helloworld.txt文件
cp [-r] source dest
复制source文件到dest
cp -r ~/home/sys/tmp/ . #复制文件夹的所有文件到当前目录
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作,而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
rm -rf dssz/ #递归删除目录中所有内容
mv oldNameFile newNameFile
(功能描述:重命名)
mv /temp/movefile /targetFolder
(功能描述:移动文件)
mv tets.txt test.txt #重命名
mv /home/star/test.txt . #移动文件到当前目录
cat [-n] 要查看的文件
可显示行号查看文件
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
more 要查看的文件
操作 | 功能说明 |
---|---|
空白键(space) | 代表向下翻一页; |
Enter | 代表向下翻『一行』; |
q | 代表立刻离开more ,不再显示该文件内容。 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
less 要查看的文件
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页; |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页; |
/字串 | 向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 | 向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q | 离开less 这个程序; |
echo [-e] [输出内容]
-e: 支持反斜线控制的字符转换
控制字符 | 作用 |
---|---|
\ | 输出\本身 |
\n | 换行符 |
\t | 制表符,也就是Tab键 |
[starfish:Technical-Learning$ echo -e "hello\tworld"
hello world
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
head 文件
(功能描述:查看文件头10行内容)
head -n 5 文件
(功能描述:查看文件头5行内容,5可以是任意行数)
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的最后10行内容。
tail 文件
(功能描述:查看文件头10行内容)
tail -n 5 文件
(功能描述:查看文件头5行内容,5可以是任意行数)
tail -f 文件
(功能描述:实时追踪该文档的所有更新)
ls -l>文件
(功能描述:列表的内容写入文件a.txt中(覆盖写))
ls -al >>文件
(功能描述:列表的内容追加到文件aa.txt的末尾)
cat 文件1 > 文件2
(功能描述:将文件1的内容覆盖到文件2)
echo “内容” >> 文件
2.案例实操
ls -l>houge.txt #将ls查看信息写入到文件中
ls -l>>houge.txt #将ls查看信息写入到文件中
echo hello>>houge.txt #采用echo将hello单词追加到文件中
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
ln -s [原文件或目录] [软链接名]
(功能描述:给原文件创建一个软链接)
history
(功能描述:查看已经执行过历史命令)
date [OPTION]... [+FORMAT]
选项 | 功能 |
---|---|
-d<时间字符串> | 显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
参数 | 功能 |
---|---|
<+日期时间格式> | 指定显示时使用的日期时间格式 |
date
(功能描述:显示当前时间)
date +%Y
(功能描述:显示当前年份)
date +%m
(功能描述:显示当前月份)
date +%d
(功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"
(功能描述:显示年月日时分秒)
date -d '1 days ago'
(功能描述:显示前一天时间)
date -d '-1 days ago'
(功能描述:显示明天时间)
cal [具体某一年]
(功能描述:不加选项,显示本月日历)
cal 2019 #显示2019年日历
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户和组的相关文件
/etc/passwd文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow 文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留
/etc/group文件
组(group)的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
useradd 用户名
(功能描述:添加新用户)
useradd -g 组名用户名
(功能描述:添加新用户到某个组)
passwd 用户名
(功能描述:设置用户密码)
id 用户名
cat /etc/passwd
su 用户名称
(功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称
(功能描述:切换到用户并获得该用户的环境变量及执行权限)
从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
当需要返回到原来用户时,使用exit指令
如果su – 没有带用户名,则默认切换到root用户
userdel 用户名
(功能描述:删除用户但保存用户主目录)
userdel -r 用户名
(功能描述:用户和用户主目录都删除,删除用户的同时,删除与用户相关的所有文件)
whoami
(功能描述:显示自身用户名称)
who am i
(功能描述:显示登录用户的用户名)
1.添加sysnc360用户,并对其设置密码。
useradd sysnc360
passwd sysnc360
2.修改配置文件
vi /etc/sudoers
修改/etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
sysnc360 ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
sysnc360 ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用sysnc360帐号登录,然后用命令sudo ,即可获得root权限进行操作。
sudo mkdir module #用普通用户在/opt目录下创建一个文件夹
chown atguigu:atguigu module/
usermod -g 用户组用户名
选项 | 功能 |
---|---|
-g | 修改用户的初始登录组,给定的组必须存在。默认组id是1。 |
usermod -g root starfish #将用户加入到用户组
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
groupadd 组名
groupdel 组名
groupmod -n 新组名 老组名
groupmod -n sysnc360 starfish #修改sysnc360组名称为starfish
cat /etc/group
chmod [{ugoa}{+-=}{rwx}] 文件或目录
chmod [mode=421 ] [文件或目录]
经验技巧
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 rwx=4+2+1=7
chmod u+x test.txt #修改文件使其所属主用户具有执行权限
chmod g+x test.txt #修改文件使其所属组用户具有执行权限
chmod u-x,o+x test.txt #修改文件所属主用户执行权限,并使其他用户具有执行权限
chmod 777 test.txt #采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限
chmod -R 777 test/ #采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限
chown [-r] [最终用户] [文件或目录]
(功能描述:改变文件或者目录的所有者)
chgrp [最终用户组] [文件或目录]
(功能描述:改变文件或者目录的所属组)
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
find [搜索范围] [选项]
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件。 |
按文件名:
find opt/ -name *.txt #根据名称查找/目录下的filename.txt文件
find opt/ -user test #查找/opt目录下,用户名称为-user的文件
find /home -size +204800 #在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
locate 搜索文件
经验技巧:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
updatedb
locate tmp
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
grep [-n] 查找内容源文件(-n可显示行号)
gzip 文件
(功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz
(功能描述:解压缩文件命令)
经验技巧
只能压缩文件不能压缩目录
不保留原来的文件
zip [选项] XXX.zip 将要压缩的内容
(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip
(功能描述:解压缩文件)
zip选项 | 功能 |
---|---|
-r | 压缩目录 |
unzip选项 | 功能 |
---|---|
-d<目录> | 指定解压后文件的存放目录 |
经验技巧
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
tar [选项] XXX.tar.gz 将要打包进去的内容
(功能描述:打包目录,压缩后的文件格式.tar.gz)
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
tar -zcvf houma.tar.gz aa.txt bb.txt #压缩文件aa和bb
tar -zcvf test.tar.gz test/ #压缩目录
tar -zxvf test.tar.gz #解压到当前目录
tar -zxvf test.tar.gz -C /opt #解压到指定目录
df 选项
(功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
选项 | 功能 |
---|---|
-h | 以人们较易阅读的GBytes, MBytes, KBytes 等格式自行显示; |
df -h #查看磁盘使用情况
du -h /目录 #查询指定目录的磁盘占用情况
fdisk -l
(功能描述:查看磁盘分区详情,该命令必须在root用户下才能使用)
功能说明
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
mount [-t vfstype] [-o options] device dir
(功能描述:挂载设备)
umount设备文件名或挂载点
(功能描述:卸载设备)
参数 | 功能 |
---|---|
-t vfstype | 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:光盘或光盘镜像:iso9660DOS fat16文件系统:msdosWindows 9x fat32文件系统:vfatWindows NT ntfs文件系统:ntfsMount Windows文件网络共享:smbfsUNIX(LINUX) 文件网络共享:nfs |
-o options | 主要用来描述设备或档案的挂接方式。常用的参数有:loop:用来把一个文件当成硬盘分区挂接上系统ro:采用只读方式挂接设备rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集 |
device | 要挂接(mount)的设备 |
dir | 设备在系统上的挂接点(mount point) |
ps:process status 进程状态
ps aux | grep xxx
(功能描述:查看系统中所有进程)
ps -ef| grep xxx
(功能描述:可以查看子父进程之间的关系)
选项 | 功能 |
---|---|
-a | 选择所有进程 |
-u | 显示所有用户的所有进程 |
-x | 显示没有终端的进程 |
3.功能说明
(1)ps aux显示信息说明
(2)ps -ef显示信息说明
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;
ps aux|grep java
ps -ef|grep tomcat
kill [-9] 进程号
(功能描述:通过进程号杀死进程,-9表示强迫进程立即停止)
killall 进程名称
(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
pstree [选项]
选项 | 功能 |
---|---|
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
Pstree -p #用树状的形式显示进程的pid
Pstree –u #用树状的形式进程的用户id
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程
service管理指令:
service 服务名 [start | stop | restart | reload | status]
在CentOS7.0后 不再使用service ,而是 systemctl
service iptables status #查看当前防火墙的状况
service iptables stop #关闭或者启用防火墙后,立即生效(临时生效,重启后恢复)
service iptables start
服务的运行级别(runlevel):
查看或者修改默认级别: vi /etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和5
开机的流程说明:
chkconfig指令
通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭
基本语法
1) 查看服务 chkconfig --list|grep xxx
2) chkconfig 服务名 --list
chkconfig –level 1 sshd off/on #sshd 服务在 1 运行级别 off
chkconfig iptables off # iptables 彻底关闭 ,不管是哪个级别都关闭
chkconfig --list #显示当前系统所有服务的各个运行级别的运行状态
top与ps命令很相似。它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程(默认每3秒变化一次)
top [选项]
选项 | 功能 |
---|---|
-d 秒数 | 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令: |
-i | 使top不显示任何闲置或者僵死进程。 |
-p | 通过指定监控进程ID来仅仅监控某个进程的状态。 |
操作 | 功能 |
---|---|
P | 以CPU使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
q | 退出top |
第一行信息为任务队列信息
内容 | 说明 |
---|---|
12:06:46 | 系统当前时间 |
up 1 day, 13:32 | 系统的运行时间,本机已经运行1天13小时32分钟 |
2 users | 当前登录了两个用户 |
load average: 0.00, 0.00, 0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。 |
第二行为进程信息
Tasks: 95 total | 系统中的进程总数 |
---|---|
1 running | 正在运行的进程数 |
94 sleeping | 睡眠的进程 |
0 stopped | 正在停止的进程 |
0 zombie | 僵尸进程。如果不是0,需要手工检查僵尸进程 |
第三行为CPU信息
Cpu(s): 0.1%us | 用户模式占用的CPU百分比 |
---|---|
0.1%sy | 系统模式占用的CPU百分比 |
0.0%ni | 改变过优先级的用户进程占用的CPU百分比 |
99.7%id | 空闲CPU的CPU百分比 |
0.1%wa | 等待输入/输出的进程的占用CPU百分比 |
0.0%hi | 硬中断请求服务占用的CPU百分比 |
0.1%si | 软中断请求服务占用的CPU百分比 |
0.0%st | st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。 |
第四行为物理内存信息
Mem: 625344k total | 物理内存的总量,单位KB |
---|---|
571504k used | 已经使用的物理内存数量 |
53840k free | 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 |
65800k buffers | 作为缓冲的内存数量 |
第五行为交换分区(swap)信息
Swap: 524280k total | 交换分区(虚拟内存)的总大小 |
---|---|
0k used | 已经使用的交互分区的大小 |
524280k free | 空闲交换分区的大小 |
409280k cached | 作为缓存的交互分区的大小 |
top -d 1
top -i
top -p 2575
# 执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。
netstat -anp |grep 进程号
(功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号
(功能描述:查看网络端口号占用情况)
选项 | 功能 |
---|---|
-an | 按一定顺序排列输出 |
-p | 表示显示哪个进程在调用 |
netstat -anp | grep java #通过进程号查看该进程的网络信息
netstat -nlp | grep 20670 #查看某端口号是否被占用
service crond restart #重新启动crond服务
crontab [选项]
选项 | 功能 |
---|---|
-e | 编辑crontab定时任务,会打开vim编辑你的工作 |
-l | 查询crontab任务 |
-r | 删除当前用户所有的crontab任务 |
项目 | 含义 | 范围 |
---|---|---|
第一个“*” | 一小时当中的第几分钟 | 0-59 |
第二个“*” | 一天当中的第几小时 | 0-23 |
第三个“*” | 一个月当中的第几天 | 1-31 |
第四个“*” | 一年当中的第几月 | 1-12 |
第五个“*” | 一周当中的星期几 | 0-7(0和7都代表星期日) |
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 |
时间 | 含义 |
---|---|
45 22 * * * 命令 | 在22点45分执行命令 |
0 17 * * 1 命令 | 每周1 的17点0分执行命令 |
0 5 1,15 * * 命令 | 每月1号和15号的凌晨5点0分执行命令 |
40 4 * * 1-5 命令 | 每周一到周五的凌晨4点40分执行命令 |
*/10 4 * * * 命令 | 每天的凌晨4点,每隔10分钟执行一次命令 |
0 0 1,15 * 1 命令 | 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 |
统计/home文件夹下文件的个数
ls –l /home/ | grep “^-” | wc -l
统计/home文件夹下目录的个数
ls –l /home/ | grep “^d” | wc -l
统计/home文件夹下文件的个数,包括子文件夹里的
ls –lR /home/ | grep “^-” | wc -l
统计/home文件夹下目录的个数,包括子文件夹里的
ls –lR /home/ | grep “^d” | wc -l
如何查看当前系统都有哪些进程
ps -aux 或者ps -elf
如何查看系统都开启了哪些端口?
netstat -lnp
平时用到哪些Linux命令
ps、grep、tar、touch、pwd
所有的crontab任务 |
项目 | 含义 | 范围 |
---|---|---|
第一个“*” | 一小时当中的第几分钟 | 0-59 |
第二个“*” | 一天当中的第几小时 | 0-23 |
第三个“*” | 一个月当中的第几天 | 1-31 |
第四个“*” | 一年当中的第几月 | 1-12 |
第五个“*” | 一周当中的星期几 | 0-7(0和7都代表星期日) |
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 |
时间 | 含义 |
---|---|
45 22 * * * 命令 | 在22点45分执行命令 |
0 17 * * 1 命令 | 每周1 的17点0分执行命令 |
0 5 1,15 * * 命令 | 每月1号和15号的凌晨5点0分执行命令 |
40 4 * * 1-5 命令 | 每周一到周五的凌晨4点40分执行命令 |
*/10 4 * * * 命令 | 每天的凌晨4点,每隔10分钟执行一次命令 |
0 0 1,15 * 1 命令 | 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 |
统计/home文件夹下文件的个数
ls –l /home/ | grep “^-” | wc -l
统计/home文件夹下目录的个数
ls –l /home/ | grep “^d” | wc -l
统计/home文件夹下文件的个数,包括子文件夹里的
ls –lR /home/ | grep “^-” | wc -l
统计/home文件夹下目录的个数,包括子文件夹里的
ls –lR /home/ | grep “^d” | wc -l
如何查看当前系统都有哪些进程
ps -aux 或者ps -elf
如何查看系统都开启了哪些端口?
netstat -lnp
平时用到哪些Linux命令
ps、grep、tar、touch、pwd
更多问题待整理。。。