linux学习笔记

www.kernel.org:linux官网

www.netcraft.com 看某一网站后台的服务器是什么操作系统。

   在命令提示符下(shell)输入的内容对系统来说都是命令,系统会默认去环境变量PATH中找此命令所在的路径下的程序(文件),如果PATH没有给出路径会报“command not found”错,解决办法:1、在PATH中添加此路径 2:用全路径执行命令

linux的命令:
内置命令 :在文件系统的某个路径下有一个与命令名称对应的可执行文件
外置命令 :shell内置的,系统开始启动时调用系统脚本利用到的命令
内置命令的使用规则用:help 命令
外置命令的使用规则用:命令 --help
无论是外部还是内部都可以用:man 命令来查看命令使用文档

hda1或sda1:指的是hd或sa的第一块硬盘的第一个分区   a:指的是第一块硬盘 1:第一个分区。
逻辑分区一定是从数字“5”开始的。

虚拟机:桥接、net、hostonly的差异
桥接:和windows的真实IP一样,Windows可以上网,虚拟机也可以,而且虚拟机还可以连同一网段的其他主机
有网线的时候用
net:只能和本机通信,本机可以上网,虚拟机也可以 无网线的时候
hostonly:只能和本机通信,本机可以上网,虚拟机不可以 无网线的时候


------------------文件、目录的权限---------------
创建文件是linux默认文件是没有执行权限,如果算的结果有,就把算的权限加1
对文件而言:
r:可读,可以使用类似cat等命令查看文件类容
w:可写,可以编辑或删除文件
x:可以执行
对目录而言:
r:可以对此目录使用ls列出内部所有文件
w:可以在此目录下创建文件
x:可以用cd切换此目录,也可以使用ls -l查看文件的详细信息


------------------IP地址的设置-------------------
linux默认有两块网卡 1:eth0本地网卡 lo:回环网卡(固定的127.0.0.1)
第一种:ifconfig eth0 ip地址   仅限本次生效 从启linux后IP会消失。
第二种:永久生效 (必须以root身份)
#cd  /etc/sysconfig/network-scripts
#vi  ifcfg-eth0
内容:DEVICE=ech0   (网卡名)
      ONBOOT=YES    (启用)    NO (不启用)
      BOOTPROTO=static (指定的)
      IPADDR= ip
      NETMASK=255.255.255.0 (子网掩码)
          GETWAY=。。。。。     (网关)
保存过后运行/etc/rc.d/init.d/network restart 后才会永久生效。

---------------------------------------------------------------linux命令--------------------
zcat zhang.gz   zcat可以看.gz的压缩文件
zcat *.gz >abc.txt   把所有的.gz里的内容放到abc里(把小文件合并成一个大文件)
cat /dev/null >11.txt  清空文件
whatis和man两个命令结合试用
whatis 命令:看这个命令有几个章节,然后在用man 数字 命令 查看命令对应章节的具体内容
date:获取系统时间
clock:获取硬件时间
如果硬件时间和系统时间不一致,用hwclock -w会把系统时间同步到硬件时间上。(意思就是改硬件时间)
hwclock -s会把硬件时间同步到系统时间上。(意思就是改系统时间)
stat 文件名:显示文件的一些信息,比如:创建时间、修改时间、属性的改变时间

cal +年份:获得某年的日历
如:cal 2016
wc -l:行数
-w:单词数 (以空格分隔)
-c:字节数
history:查看历史命令:每一个用户所使用的命令先保存在缓存区里,正常退出后追加到每个用户家目录的.bash_history文件里
-c:清空历史命令
-w:把缓存区里的历史命令保存在文件里
!n:执行命令历史中第n条命令

alias:定义命令的别名(如果没有在配置文件里设置,别名只在当前shell有效)
unalias 别名:撤销命令别名

cd - :在当前目录和前一个目录之间来回切换
~用户:切换到某一个用户的家目录
type (用于显示命令属于哪一种:内置or外置)
file 文件:查看文件类型

seq 数值1 数值2 数值3 (数值1和数值2可省略)

diff:对比两个文件的不同之处

head 和 tail(看文件的头或尾)
head -n $man /etc/passwd | tail -1 |cut -d: -f1-3 当man=10

mkdir -p x/y/{a,z}:会在x/y目录下同时创建a和z目录。

ls -lh h:代表人性化显示  数据大小该是以G为单位或是K为单位
       -d:显示某个目录的信息。
      -r:按文件名逆序显示(从大到小)
      -R:递归显示
     -i:可以看每一个文件的ID号(唯一)
    eg:find . -inum ID号 -exec rm {} \; ---删除文件
cp  -rp 
      r:复制文件目录
      p:保留文件的属性

cat -n 显示行号
      -E 显示文件的换行符
     cat >man.txt :等待用户从键盘输入,然后把输入的内容保存在man.txt里
     cat >man.txt <<EOF。。。(用户输入的内容)。。。。EOF

tac:从底部到首部(和cat相反)

tee:既输出到屏幕上也保存在文件里
如:cat /home/ | tee man.txt

chmod -R 777 目录 (-R:递归修改某一目录下的所有目录或文件的权限)

chown 目的用户  要改的文件/目录 (改变文件的所有者,只有root才可以执行)
  -R:当改变的是目录时,加R递归改变目录下的所有文件或目录的所有者
chown 用户:组名 目录/文件   一次性改变文件的用户和组

chgrp 目的组  要改的文件 (改变文件的所有组,只有root才可以执行)
-R:同上

alias:定义命令/命令组 的别名
想让别名永久生效要在 /root/.bashrc里定义

unalias 别名 :取消别名。

umask -S 可以看新建目录的默认权限(一般是755) 新建的文件默认比目录少X权限(一般是644)
      如果想改目录的默认权限,用法:umask 权限(umask 765)---用哪个用户改就对哪个用户有效
umask:显示当前用户的umask
创建文件的默认权限是666减去创建这个文件的用户的umask
创建目录的默认权限是666减去创建这个目录的用户的umask
find  linux的搜索命令:
1:根据文件名搜索
find 搜索目录 -[i]name 文件名 find /etc -name "*init*" (?:匹配单个字符、i:不区分大小写)
              find /etc -name "*init*" -a type f (type f:只看文件 d:目录)
-type:根据文件类型查找
f:普通文件 d:目录 c s l p 
-not -type d:不是目录 (-not:否定查找条件)
2:根据文件的大小搜索
find 搜索目录 -size [+、-、=]大小 find / -size +204800 (+:大于、-:小于)
          find / -size +163840 -a -size +204800 (a:and、o:or)
  linux文件存储是按数据块存的,一个数据块为512字节,1K=2倍的一个数据块 204800字节=100M
3:根据所有者/所有组搜索
find 搜索目录 -user/-group 所有者
4:根据时间的属性搜索
-mtime    -n +n               #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查找文件,
-ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内, +n指n天以前
-mmin     -n +n               #按文件更改时间来查找文件,-n指n分钟以内,+n指n分钟以前
-amin     -n +n               #按文件访问时间来查找文件,
-cmin     -n +n               #按文件创建时间来查找文件,-n指n分钟以内,+n指n分钟以前
eg:find . -mtime -2 -name "*.txt" | xargs ls -l
5:对找到的结果进行操作
find /etc -name "*init*" -exec ls -l {} \;(-exec 命令 {} \; 固定的、{}:代表内容)
find /etc -name "*init*" | xargs ls (两种功能一样,推荐使用这个)

which linux命令 或whereis linux命令 : 查找命令所在的目录或命令的别名 eg:which cd

grep:在文件的内容搜索某些内容
        grep [选项] "搜索的内容" 目录/文件名/对象
-i:忽略大小写
-n:输出行号
--color=auto :搜索的内容用颜色显示
grep -v ^# /etc/init.tab (^:代表行首 ^#:表示搜索目录时取出以#开头的行 v:去除指定字符串)

id 用户名:判断系统某个用户是否存在
id -u 用户名:取用户的UID

who:可以查看当前有几个用户登录
     用户     终端     时间              ip
     root     tty1    2014-03-11 18:20  
     zhangqm  pts/0   2014-03-12 19:20 192.168.198.1
     (tty1:表示本地终端登录  pts/0:表示远程登录 ip:从哪个ip登录的) 

whoami:查看当前是哪个用户登录。

cut [选项] 文件名

-f :提取列  cut -f2,4 man.txt 提取man.txt的第2,4列 (-f1-3:提取1、2、3列)
  -d :指定分隔符 cut -d ":" -f 1,3 man.txt (默认是分隔符)
-c :截取字符串的范围   cut -c1-3  eg:echo nama |cut -c1-3  结果:nam

sort:文本排序(默认是升序,按字典字母顺序排序)
-r:降序
-n:按数值大小排序
-t:指定分隔符
-k:指定用那一列排序
-u:去掉重复的行
-f:排序时不区分大小写
read [选项] 变量名
-p "提示信息":用于提示用户的提示信息
-t 秒数:等待用户输入参数的时间,超过时间就退出
-s:隐藏输入的数据,适用于机密信息的输入
tr:字符的转换或删除  
-d:删除文本里出现在字符集里的所有字符 如:tr -d ab <man.txt ---删除man.txt里所有的字符a和字符b
tr  字符集1 字符集2 如:tr ab QW <man.txt ---把man.txt里所有的a替换成Q、所有的b替换成W

-------------------压缩命令--------------
gzip 压缩:gzip 文件名   eg:gzip man 压缩后为man.gz (只能压缩文件,不能压缩目录且不保留源文件)
解压:gunzip man.gz 或 gzip -d man.gz
tar     压缩:tar 选项[-zvcf] c eg:tar -cvf   man.tar /man 
     tar -zcvf  man.tar.gz /man
        解压:tar 选项[-zxcf] 压缩后文件名  目录 eg:tar -xvf   man.tar /man 
     tar -zxvf  man.tar.gz
       (c:打包 v:显示信息 f:指定文件 z:压缩 x:解包 z:解压缩 ****可以打包压缩目录***)

zip     (windows和linux都可以支持,可以相互拷贝,既可以压缩文件,也能压缩目录)
压缩:zip [-r] 压缩后文件名  目录/文件名 eg:zip -r man.zip /man
      -r:压缩目录
解压:unzip man.zip


-----------网络命令--------------------
write:在一个服务器里一个用户和另一个用户可以聊天(两个用户必须都登录服务器了)
eg:#write zhangqm (回车)——>输入相关内容——>Ctrl+D (保存退出)
     这样信息就发出去了
wall(write all):给所有在线用户发信息
eg:# write 内容
ping :测试网络的连通性 eg:ping -c 3 10.10.10.10 (c:平3次就结束)

last:列出目前与过去登录系统的用户信息(包括计算机重启的信息)

traceroute:linux主机访问网站所经过的IP(前提是linux主机能连网)

netstat :查询网络状态或端口使用情况

setup:Redhat自带的,其他linux没有(永久生效)。

关机命令:1:shutdown -h now  立马关机   shutdown -h 22:30 代表22:30 关机
        :2:poweroff 
重启命令:1:shutdown -r now  立马重启   shutdown -r 22:30 代表22:30 重启
      2:reboot
-----------编辑命令-------------------
vi:编辑命令
:set nu 设置行号   :set nonu取消行号  
        :n/nG:到第n行 
x:删除光标所在的行
u:取消上一步操作
:s/p1/p2/g:将当前行中所有p1均用p2替代  %s/p1/p2/g:将全文中所有p1均用p2替代
n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
        :r 文件名  (把文件里的内容导入到当前文件光标所在的位置)
vi man.txt +12:会直接跳到第12行
vi man.txt +:会直接跳到文件的最后一行
vi man.txt +/string:定位到string出现的第一个位置
vim的全局配置文件在/etc/vimrc 
用户自己的vim配置文件在家目录下.vimrc,如果此文件不存在用户可以自己存在并在文件里实现需要的功能。(一定要在自己的家目录下创建)
在vim操作文件时,如果非法退出会在此文件相同的目录下产生一个.文件名.swap的隐藏文件,如果想保存非法退出时编辑的文件可以使用vim -r 文件名保存,也可以按打开时的提示做。但是在下一次在打开这个文件时还会提示那个非法退出时产生文件的信息,可以手动删除非法产生的文件,下次就不会有提示了。

---------------用户管理----------------------
man +系统配置文件:会显示配置文件的个字段代表的含义 eg:man passwd

/etc/passwd :用户的信息配置文件  (文件包含linux系统包含的所有用户)

/etc/shadow:用户密码真实放在的文件 (以暗文存放的)
在这个文件里如果第二位是!!或* 代表没有密码 指的是linux的伪用户,不能登录的用户
/etc/group :用户的信息配置文件
/etc/gshadow:组密码真实放在的文件 (以暗文存放的)
在这个文件里如果第二位是!!或* 代表没有密码 指的是linux的伪用户,不能登录的用户

/etc/default/useradd和/etc/login.defs:系统添加用户时默认执行的文件,按文件内容对用户进行设置。

/etc/sudoer(visudo):修改root给普通用户赋予的权限。
普通用户可以用 sudo -l 查看root赋予了我那些权限。

--------------文件系统的查看-----------------------
df -h :显示分区的使用情况。
du -h 目录:统计这个目录及子目录的大小
du -sh 目录:统计这个目录的大小
mount:可以看系统已经挂的分区
mount -t 挂在设备的文件系统  设备文件名  挂载点
fdisk -l:查看linux系统识别了多少硬盘
:查看了识别的硬盘有没有被分区,没有可以用fdisk进行手工分区。

-------------------------系统脚本的解释-----------------------------------------
全局环境变量配置文件
/etc/profile、/etc/profile.d/*.sh、/etc/bashrc
局部(个人用户)环境变量配置文件
~/.bashrc、~/.bashrc_profile

profile文件功能:
1:设定环境变量
2:运行命令或脚本
bashrc文件功能:
1:设定本地变量
2:定义命令别名

用户以登录,系统读取脚本的顺序:
/etc/profile---> /etc/profile.d--->~/.bashrc_profil--->~/.bashrc---->/etc/bashrc
---------------------------------------shell脚本-------------------------
shell:
1:命令解释器,把外围程序键入的命令解释为内核能是别的二进制语言,在有内核调用硬件。(提供用户交互界面)
2:解释执行脚本语言,可以直接调用所有的linux命令。
‘\’:转移符,作用是取消后面符号的特殊含义

-----------------参数的引用-------
位置参数(positional parameters)是一种特殊的Shell变量,用于从命令行向Shell脚本传递参数
$1表示第1个参数、$2表示第2个参数等等,$0脚本的名字,从${10}开始,参数号需要用大括号括起来,如${10}、${11}、${100}……
$*和$@一样,表示从$1开始的全部参数
特殊位置参数 意义
$# 传递到脚本的参数数量
$*和$@ 传递到脚本的所有参数
$$ 脚本运行的进程号

$0:代表执行脚本的名称 

$?:获取上一个命令的返回状态,返回值为0,则表示命令执行正确,非0表示有错误

*********************************************
bash -n man.sh :测试脚本是否有语法错误
bash -x man.sh :显示脚本执行的过程(步骤),(单步执行)

cat -A 文件名 (A:查询文件的所有内容,包括隐藏的字符,在linux里“回车”默认是$,windows是^M$)
所以在windows写的shell脚本要用dos2linux 文件名 转换为linux格式。

echo -e   e:支持特殊符号

echo “\e[1;31m abcd \e[0m” 把abcd以红色输出
\e[1;:开始颜色输出  \e[0m:关闭颜色输出 (固定书写)
30m:黑色 31m:红色 32m:绿色 33m:黄色 34m:蓝色 35m:洋红 36m:青色 37m:白色
2:如果到处要换行,必须加-e选项

bash的快捷键:Ctrl+a:把光标移到命令行首 Ctrl+e:把光标移到命令行首 Ctrl+u:删除此行命令 Ctrl+l:清屏 Ctrl+s:暂停屏幕输出 Ctrl+q:暂停屏幕输出


---------------------重定向------------
标准输入输出:
0:标准输入  1:标准输出  2:标准错误输出
输出重定向:
正确输出和错误输出保存在同一文件的两种方法:
1:命令 > 文件 2>&1 (2>:不能分开)
        2:命令 &> 文件
3:命令 1>文件 2>文件2 (把正确的和错误的分开保存)
eg:命令 &>/dev/null (/dev/null:相当垃圾箱,主要用途就是让命令执行,不关心产生的结果)

重定向只是对于标准输入和标准输出,对标准错误输出没用,如果要把标准错误输出重定向要用2>

set -C:禁止对已经存在的文件使用覆盖重定向
如果已经禁止,强制覆盖可以使用 >| 符号
set +C:关闭上述功能


判断命令是否执行成功:
命令 && echo yes || echo no

管道符"|":命令1的正确输出作为命令2的操作对象
命令1 | 命令2

-----变量-----
在Bash中,变量默认的类型都是字符串类型,如果要进行数值运算,则必须指定变量的类型为数值类型。
变量用等号连接值,等号两边不能有空格。
变量的值如果有空格必须用单引号或双引号括起来。
变量的叠加:
name=zhang
name=${name}man 或 name=“$name”man
echo ${name} 输出:zhangman
set:可以看到系统的所有变量,既环境变量和用户自定义变量(本地变量)。删除变量用unset
env、printenv:查看当前shell的环境变量

PS1:定义系统提示符的显示


linux的数值运算方法: aa=11 bb=22  
1:expr: dd=$(expr $aa + $bb) 其中+左右必须有空格
2:dd=$(( $aa+$bb ))--推荐使用  
3:dd=$[$aa+$bb]

系统换件变量的配置文件:
1:/etc/profile         :对所有用户生效
2:/etc/bashrc          :对所有用户生效
3:/etc/profile.d/*.sh  :对所有用户生效
4:~/.bash_profile      :对当前家目录的用户生效
5:~/.bashrc            :对当前家目录的用户生效
*******五个文件的调用顺序************
系统启动开始读文件1,1调用文件4,4调用5,5调用2,2调用3
    1在调用文件4的同时也调用3
(其中2调用3时是调用不需要登录用户名密码的脚本内容,反之1调用3时是需要登录的)

*****************通配符******正则表达式********
通配符用来匹配符合条件的文件名
正则表达式用来在文件中匹配符合条件的字符串

单引号'':里面的内容原样输出,双引号“”不是。
反引号``和$()功能一样:执行linux命令。
转义符\:是特殊符号失去特殊含义,变为普通字符。eg:\$:将输出$符号,不在当做是变量的引用。

-----通配符-----
?:匹配一个任意字符 
*:匹配0个或任意多个任意字符
[]:匹配括号中任意一个字符。eg:[abc]代表一定匹配一个字符a或者b或者c
[-]:匹配括号中任意一个字符,-代表范围。eg:[a-z]代表匹配任意一个小写字母。
[^]:逻辑非,匹配不是括号内的一个字符。 eg:[^0-9]匹配一个不是数字的字符。
-----正则表达式---
*:前一个字符匹配0次或任意多次(次数) eg:grep “a*”man.txt 在文件man.txt里找出a出现0次或多次的行
   grep “aaa*” man.txt 在文件man.txt里找出至少包含两个连续a的字符串
.:匹配除了换行符外任意一个字符
.*:等同于通配符里的*
^:代表行首 $:代表行尾  “^a”:以a开头的行  “a$”:以a结尾的行  “^$”:表示空白行
[]:匹配括号中任意一个字符
[^]:逻辑非,匹配不是括号内的一个字符
\{m,n\}:匹配其前面的字符至少m次,最多n次
a\{1,3\}:字符a至少出现1次,最多出现3次
制表符:Tab键

**********************awk、sed用法***
df -h|awk '{print $5 "\t" $6 }'|sed -n '2p'|cut -c1-2  (-n '2p' 打印第二行)
df -h|awk '{print $5}'|sed -n '2p'|cut -c1-2 或  
df -h|awk '{print $5}'|sed -n '2p'|cut -d “%”-f1
awk -F":" '{print $1 "\t" $3}' /etc/passwd -F:指定分隔符
awk -F":" '$3>50 {print $1 "\t" $3}' /etc/passwd |wc -l   (当条件$3>50成立,才会打印)

sed [选项] 'AddressCommand’ 文件
Address:
1、startline,endline
eg:1,100p
2、/正则表达式/
eg:/^root/ 以root开头的行
Commmand:
1、d:删除符合条件的行
2、p:显示符合条件的行
3、a 
4、i
5、s/字符或正则表达式/string/:查找并替换(三个/是命令s的固定模式)
(替换原则:只替换每行中第一次被匹配到的字符串,如果想全局替换要加修饰符
如:s/字符或正则表达式/string/g g:全局替换 i:忽略大小写)
 
   awk -F":" '$3>50 {print $1 "\t" $3}' /etc/passwd |wc -l|sed 's/18/20/g'


   sed -i 's/18/20/g' man.txt (把文件里所有的18换成20,(-i)并保存文件,不会在屏幕输出)
   sed -e 's/18/20/g ; s/19/21/g' man.txt (-e:允许多个条件同时存在)

   sed '1,2d' /home/zhangqm (删除前两行)
   sed  -n '1,2p' /home/zhangqm(显示前两行,-n要加)


----两种判断格式---
test -d /root 和 [ -d /root ] (其中[]两边必须有空格)
----文件之间的比较--
文件1 -nt 文件2 判断文件1的修改时间是否比文件2新 (如果新为真)
文件1 -ot 文件2 判断文件1的修改时间是否比文件2旧 (如果旧为真)
文件1 -ef 文件2 判断是否为同一个文件
-e file:测试文件是否存在
-d file:测试指定路径是否问目录
-f file:测试文件是否为普通文件
-r、w、x file:测试当前用户对指定文件是否有读、写、执行权限

----两个整数之间的比较---
整数1 -eq 整数2 :相等
      -ne :不相等    -gt:大于  -lt:小于 -ge:大于等于 -le:小于等于

---判断两个变量的值是否相等
字串1 == 字串2: 判断两个字串是否相等 
eg:aa=abc  bb=abc  :[ "$aa" == "$bb" ] && echo yes || echo no 
     != :不等于
-n 字符串:测试指定的字符串是否为空,空则真
-s 字符串:测试指定的字符串是否不空,不空为真
 
-----------判断语句-------------
exit:退出当前脚本

if语句的两种使用方法:
1 if [ ] ; then             2 if [ ]
....                        then ..
  fi                          fi

case的使用
case   $变量名  in
    "值1")
    如果变量的只等于值1,执行程序1
                  ;;
            "值2")
    如果变量的只等于值2,执行程序2
          ;;
       *)
  如果以上都不是,执行程序3
          ;;
esac
(;; 不能省略,代表这段的结束,不是整个shell)

for语句的两种使用方法: 
1:for 变量名 in   值1 值2 值3   2:for ((初始值;循环条件;变量变化))
     do                               do
        程序                              程序
     done                            done
(会执行三次循环)                   (会把要循环的条件执行完)
(do....done:循环几次做几次)

while语句的用法
while  [ 条件判断式 ]
   do
      程序
   done

**************************服务************************
1:rpm包安装的服务   
2:源码包服务
chkconfig --list:查看所有rpm安装的服务的自启动状态 不能查看源码包安装的服务 另外:源码包服务安装的位置一般在/usr/local下
service --status-all :显示系统中安装所有rpm包的状态。
rpm包自启动的方法:修改/etc/rc.d/rc.local的配置文件  如添加一条启动服务的命令:/etc/rc.d/init.d nfs start
(/etc/rc.d/rc.local配置文件里的内容是在所有系统配置文件启动后,输入用户名密码前读取)
/etc/rc.d/init.d里的内容是所有的rpm安装服务,其实在我们使用service开启/关闭服务时,实际是service会读取/etc/rc.d/init.d的内容找到相应的服务。

-------------进程---
ps aux:显示系统所有进程
top:查看动态进程
pstree:查看进程数 
-p:显示进程的pid
-u:显示进程的所属用户
kill [数字]  PID
-1:进程重启
-9:强制杀死
-15:正常结束进程=kill PID
pkill -9 -t 终端号 :踢出某个用户 (某个用户影响你操作系统或该用户不应该存在时可以将其踢出)

jobs:查看后台的工作
-l:显示进程的PID

一个在前台执行的命令可以用Ctrl+Z暂停,并放入后台,可以用jobs查看。
fg %工作号:把后台暂停的工作恢复到前台执行 (%可以省略,工作号不是PID)
bg %工作号:把后台暂停的工作恢复到后台执行(恢复的命令是不能与前台有交互的,如top、vi命令)

内存的缓存与缓冲:
缓存(cache) :用来加速数据从硬盘的读取,第一次只能从硬盘读取,读取之后会先把他保存在缓存里,当有其他程序要读取相同数据时,只需从缓存读取不需在找硬盘,加快读取速度。
缓冲(buffer):用来加速数据的写入,每次的数据保存都会暂时保存在缓冲区里,直到缓冲区写入一定量的数据时在一次性写入到硬盘,避免了硬盘的频繁操作,减缓了系统的速度。

free:查看内存的使用状态
-b:一字节为单位 -k -m  -g
/proc/cpuinfo:内容是关于CPU的信息。这个目录每次断电后再开机都会自动更新。

uname -a:查看系统所有相关信息   -r:查看内核版本

查看系统的位数:file /bin/ls (注意只能查看linux系统的外部命令)

lsb_release -a :查看linux系统的版本 如:CentOs、redhat等

losf:查看进程调用或打开的文件
-p:列出某个PID进程打开的文件
-u:列出某个用户的进程打开的文件

*******************************************************************定时任务crontab******
在使用crontab时,一定要先启动crond服务,一般都是系统自动起的。
crontab -e:编辑   -l:查看   -r:删除
* * * * * 命令  (规定格式)
第一个*:代表一个小时中第几分钟执行    范围0~59
第二个*:代表一天当中第几个小时执行    范围0~23
第三个*:代表一个月中第几天执行        范围1~31
第四个*:代表一年中第几个月执行        范围1~12
第五个*:代表一周中星期几执行          范围1~7

*:不写具体的数字代表所有意思 
,:代表不连续
-:代表连续
*/n:代表每隔多久执行一次
(在crontab里用命令date时,一定要把%转义 如date=`date +\%Y\%m\%d`,因为%在crontab里特殊含义)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值