linux知识点整理

第一单元《Linux系统简介及安装》

  1. linux的理解:linux是一个计算机操作系统
  • Vmware的理解:

vmware

是一个虚拟主机软件

  • Linux的版本:

centos

只是

linux

发行版本的一种,

linux

的版本有很多

  • Linux的发展:

linux

是由

unix

发展过来的

  • Linux下查看

ip

的命令:

ifconfig  

此命令必须是超级管理员才能使用

  • Linux下切换用户的命令是:

su

  • Linux

windows

的异同:都是操作系统,

linux

安全性能以及运行效率都比

windows

要高,

windows

操作系统安全性能较低

  • Linux

ip

理解:

Linux

ip

也可以作修改,可以在安装完成后使用命令

setup

来修改

ip

  • Linux安装的模式的理解:

linux

的安装可以选择图形界面安装也可以选择文本模式安装

  • Linux运行级别的文件地址:

/etc/inittab

  • Linux常用的关机命令:

halt

poweroff

shutdown -h now

(立刻关机)、

shutdown -h 10

10

分钟后关机)

  • Linux常用的重启命令:

reboot

shutdown -r now

(立刻重启)、

shutdown -r 10

10

分钟后重启)

  • Linux下修改

ip

的文件:

/etc/sysconfig/network-scripts/ifcfg-eth0

第二单元《Linux

文件常用命令》

  1. Linux命令格式:命令 选项 参数
  • Linux的文件属性:

r:可读  权限码为

4

W:可写  权限码为

2

X:可执行 权限码为

1

3、有一个文件属性为:

-rw-r--r--

分析:

第一个字符为-

代表文件,为

d

代表目录,剩下的

3

个字符为一组

第一组为:owner

简称 

文件或者目录的所有者

第二组为:group

简称 

文件或者目录的用户组

第三组为:others 

简称

文件或者目录的非用户组的操作者

  1. 改变文件的属性与权限命令:chmod
  1. 数字码修改文件权限:例如:chmod 777 a.txt    //

a.txt

的权限无论是用户、还是用户组、还是非此用户组的操作者的权限都设置为可读、可写、可执行

6、字符修改文件权限:例如:

chmod u=rw

g=r

o=r a.txt   //

a.txt

的用户权限设置为可读、可写,用户组的权限设置为可读,非此用户组的操作者的权限设置为可读(注:也可以对其中的一个组做出修改,例如:

chomd u=rwx   

就是将用户的权限设置为可读、可写、可执行)

7、扩展:

可以使用+  -

来修改文件或者目录的权限

例如:chmod u+r a.txt  //

a.txt

的用户添加了一个可读权限

Chmod g-w a.txt   //

a.txt

的用户组减去了一个可以写的权限

注:如果三个组的操作权限相同可以是直接使用a

来赋权限

例如:chmod a=rwx  a.txt    //

a.txt

的权限无论是用户、还是用户组、还是非此用户组的操作者的权限都设置为可读、可写、可执行

8、新建文件:

touch  

路径

/

文件名    

例如:touch /tmp/test.txt  //

tmp

目录下建立一个

test.txt

的文本文件

9、复制文件:

cp 

文件名 路径

/

文件名      

例如:cp a.txt bbb/b.txt  //

a.txt

文档拷贝到

bbb

目录下重命名为

b.txt

10、移动文件:

mv 

文件名 路径

/

文件名  

例如:mv a.txt bbb/b.txt  //

tmp

下的

res.txt

文档移动到

aaa

目录下重命名为

des.txt

11、删除文件:

rm 

路径

/

文件名

例如:rm -f /tmp/test.txt 

-f 

没有提示信息)

//

删除

tmp

目录下的

test.txt

文档没有提示

12、查看文件内容:

cat 

路径

/

文件名

例如:cat /etc/services  //

查看

etc

目录下的

service

文件全屏显示

head -n /etc/services(查看文件前

n

行的内容)

tail -n /etc/services(查看文件后

n

行内容)

more /etc/services 

(文件内容会一屏一屏的显示出来,你只需用空格键就可以下翻了)

 

13、重定向:

>  

是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;

>>这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

Cat  /etc/services > a.txt(输出重定向只需要加上

这位一个符号就可以了

)

14、管道符的使用:

cat /etc/services | more

cat

显示出来的内容重新输出给 

more 

命令就可以达到想要效果)

15、文件查找:

find -name 

文件名

例如:find aaa -name a.txt   //

查找

aaa

目录下的名称为

a.txt

的文件

Find aaa -name 

*.php

’  

//

查找

aaa

目录下后缀名为

.php

的文件

16、

压缩、解压文件:

gzip  

例如:gzip aaa/a.php    //将aaa目录下的a.php文件进行压缩    

例如:gzip -d aaa/a.php.gz  //将aaa目录下的a.php.gz文件进行解压

 

17、压缩、解压文件:bzip2

例如:

bzip2 

aaa/a.php    //将aaa目录下的a.php文件进行压缩    

例如:

bzip2

 -d aaa/a.php.bz2  //将aaa目录下的a.php.bz2文件进行解压

  1. 帮助命令:--help  man

 

  1. table功能补全键

第三单元   LINUX目录常用命令

1、相对路径:路径的写法不是由

/

写起,例如:由

/usr/share/doc

要到

/usr/share/man

下面时,可以写成’

cd ../man

’,写对路径的意义指相对于目前工作目录的路径

绝对路径:路径的写法一定由根目录/

写起,例如

/usr/share/doc

这个目录

2、切换目录:

cd 

目录名

例如:cd ..  //

回到上级目录

例如:cd /etc/aaa   //

进入到

etc

目录下的目录里

3、查看文件与目录:

ll  ls

例如:cd aaa

目录下  使用

ll  

将所有的文件和目录以列表的形式展示出来 

ls

一样

Ls -a:列出全部的文件,连同隐藏文件也一起列出来

Ls -d:仅列出目录本身,而不是列出目录内的文件数据

Ls -l:列出长数据串,包含文件的属性与权限等数据

4、创建目录:

mkdir 

路径

/

目录名称

-p:创建多级目录

例如:mkdir -p /aaa/bbb/ccc  

创建

aaa

目录,并在

aaa

里面创建

bbb

,并在

bbb

目录里创建

ccc

5、复制目录:

cp 

参数 源目录名 目标目录

-i:若目标文件已经存在了,在覆盖时会先询问操作的进行  输入

n

为不覆盖,

y

为覆盖

-r:递归持续复制,用于目录的复制行为

-a:复制目录 

-a

防止在复制目录的过程中改变目录的权限和属性

例如:cp -a aaa bbb  //

拷贝

aaa

目录到

bbb

目录下

6、删除目录:

rm

或者

rmdir

例如:rmdir aaa   //

aaa

目录删除

例如:rm -r aaa  //

aaa

目录删除,给出提示,输入

y

代表可以删除,输入

n

代表取消

7、移动目录:

mv

例如:mv aaa bbb  //

aaa

目录移动到

bbb

目录下

例如:mv /www/aaa  /www/bbb  //www

目录下已经有了

aaa 

目录,但是没有

bbb

目录此时执行的

mv

是修改目录名为

bbb

8、取得路径的文件名:

basename

例如:basenmae  /aaa/bbb/a.txt   //

返回输出

a.txt

9、取得目录的名称:

dirname

例如:dirname /aaa/bbb/a.txt   //

返回输出

/aaa/bbb

第四单元   Vim/Vi

文本编辑器应用

  1. Vi的三种模式:一般模式、编辑模式、命令行模式
  1. 命令行模式:以vi

打开一个文件就直接进入了命令行模式  例如:

vi a.txt

,在这个模式中可以使用上下左右键来移动光标,你可以删除字符或者整行,也可以复制、粘贴你的数据

3、编辑模式:在一般模式里按下

i

I

o

O

a

A

r

R

等任何一个字符进入编辑模式,如果要回到命令行模式需要按下

esc

键退出编辑模式

  1. 末行模式:在命令行模式中,输入:、/

、?这

3

个中的任何一个按钮就可以将光标移动到最下面那一行,在这个模式中,可以提供你查找数据的操作,而读取、保存、大量替换字符、离开

vi

、显示行号等操作也是在此模式中进行的。

4、模式切换指令(

i a o  :  esc 

I

i

A

a

O

o

按下这些键后进入编辑模式

:按下后进入末行模式

Esc:按下后从编辑模式退回到命令行模式

5、光标操作指令(

nG  ngg  H  M  L

):

nG:进入一般模式后按下此键,光标将指向第

n

行,

n

为数字,如果只按下

G

光标将指向最后一行

Ngg:进入一般模式后按下

gg

,光标将指向第

n

行,

n

为数字,如果只按下

gg

光标将指向第一行

H:进入一般模式后按下

H

,光标移动到屏幕最上方的第一行的第一个字符

M:进入一般模式后按下

M

,光标移动到屏幕中央的那一行的第一个字符

L:进入一般模式后按下

L

,光标移动到屏幕最后一行的第一个字符

6、内容操作指令(

yy nyy  ndd  p 

yy:复制光标所在的那一行字符

p:粘贴刚才

yy

复制的字符

nyy

n

为数字,复制光标所在的向下数

n

ndd:删除光标所在的向下数

n

行,从本行开始往下数

7、末行指令(

/ ?  :set nu  w  q  x  ! 

:wq 

保存并退出

? 向上查找字符  例如:?Hello  

向上查找

hello

向下查找字符  例如:

/Hello  

向下查找

hello

:W 

将编辑的数据写入硬盘中

:q 

离开

vi

,在没有进行修改文件内容的情况下使用

:q! 

强制离开文件,修改后不保存

X:向前删除一个字符

x:向后删除一个字符  

Linux网络

管理&

软件安装

  1. linux运行级别的系统文件:

/etc/inittab

2

Linux

系统有

7

个运行级别

(runlevel)

运行级别0

:系统停机状态,系统默认运行级别不能设为

0

,否则不能正常启动

运行级别1

:单用户工作状态,

root

权限,用于系统维护,禁止远程登陆

运行级别2

:多用户状态

(

没有

NFS)

运行级别3

:完全的多用户状态

(

NFS)

,登陆后进入控制台命令行模式

运行级别4

:系统未使用,保留

运行级别5

X11

控制台,登陆后进入图形

GUI

模式

运行级别6

:系统正常关闭并重启,默认运行级别不能设为

6

,否则不能正常启动

  1. 查看服务是否开机启动命令chkconfig

 --list

  1. RPM 默认安装的路径

/var/lib/rpm

  • RPM安装软件包命令:rpm -ivh 软件包名称(可以显示安装的进度)
  • RPM查询安装软件包命令:rpm -q 软件名称  (查询已安装的软件)
  • RPM升级软件包命令: rpm -Uvh 软件名称 (后面的软件名称如果没有安装过则进行安装,如果版本过低,则系统会直接进行升级)
  • RPM卸载软件包命令:rpm -e 软件名称
  • Ta

r打包命令:tar -cvf 打包后的包名(名字.tar) 要打包的文件夹

  • Tar打包并压缩命令:tar -zcvf 打包后的包名(名字.tar) 要打包的文件夹

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

[root@linux ~]# tar 

-cvf

 

/tmp/etc.tar /etc    <==仅打包,不压缩!

[root@linux ~]# tar 

-zcvf

 /tmp/etc.tar.gz /etc  <==打包后,以 gzip 压缩

[root@linux ~]# tar 

-jcvf

 /tmp/etc.tar.bz2 /etc  <==打包后,以 bzip2 压缩

  1. Tar解包命令:tar -xvf 包名.tar
  • 解包以

gzip压缩的包:

tar -zxvf /tmp/etc.tar.gz

  • 解包以

bzip2压缩的包:

tar -

j

xvf /tmp/etc.tar.

bz2

  • .configure 配置

文件

  • 编译源文件的命令:

M

ake

  • 编译后安装的命令:

Make install

  • 安装RPM包的步骤:

创建文件夹:mkdir /media/cdrom

挂载光驱到指定的文件夹里:mount /dev/cdrom  /media/cdrom

切换目录:cd /media/cdrom/CentOS

安装gcc包:rpm -ivh 包名

注意gcc包需要安装依赖包

4

第六单元 Linux用户及用户组管理

1、Linux用来存放系

统用户的信

息的文件是:/etc/passwd

2、Linux用来存放系统

用户密码

的文件是:/etc/shadow

3、Linux用来存放系统

用户组

的文件是:/etc/group

4、添加用户:useradd 参数 用户名

其中各选项含义如下:

代码:

-c comment 指定一段注释性描述。

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g 用户组 指定用户所属的用户组。

-G 用户组,用户组 指定用户所属的附加组。

-s Shell文件 指定用户的登录Shell。

-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

用户名 指定新账号的登录名。

此时后面不加任何参数的时候,一切由系统默认生成

  1. 生成一个uid
  • 创建一个用户组,组名与用户名一样
  • 创建一个用户的主文件夹  /home/用户名

5、想查看zhangsan是否为系统用户,只需到这个文件找zhangsan即可

grep zhangsan /etc/passwd

  1. 修改用户信息:usermod 参数 用户名

参  数: 

 -c<备注>  修改用户帐号的备注文字。 

 -d登入目录>  修改用户登入时的目录。 

 -e<有效期限>  修改帐号的有效期限。 

 -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。 

 -g<群组>  修改用户所属的群组。 

 -G<群组>  修改用户所属的附加群组。 

 -l<帐号名称>  修改用户帐号名称。 

 -L  锁定用户密码,使密码无效。 

 -s  修改用户登入后所使用的shell。 

 -u  修改用户ID。 

 -U  解除密码锁定。

  1. 删除用户信息:userdel 用户名

强制删除用户家目录:userdel -r

8、设置用户密码:passwd 用户名

9、创建用户组:groupadd 组名

10、修改用户组:groupmod 参数 组名   参数说明:-g 修改组的id  -n修改组的名称

11、删除用户组:groupdel 组名  

12、向已有的用户组里添加用户进去:gpasswd -a 用户名 组名

13、向已有的用户组里删除用户的方法:gpasswd -d 用户名 组名

14、批量向用户组添加用户的方法:gpasswd -M 用户名1,用户名2...   组名

 

第七单元 Linux 进程管理

1、查看linux下的所有进程:ps aux

2、查看linux下的某个服务的进程:ps aux | grep apache

3、杀死linux下的某个进程:kill 进程id

4、杀死linux下的某个服务的多个进程:killall 进程名称

6、暂停linux下的某个工作到后台:ctrl+z

7、查看linux下的所有工作:jobs

8、把暂停的工作放到前台继续执行:fg 工作号

9、把暂停的工作放到后台继续执行:bg 工作号

10、linux下工作调度的种类:at、crontab

11、at:用来执行计划任务,只执行一次

12、at计划任务的启动:/etc/init.d/atd start

13、设置at开机自动启动:chkconfig atd on

14、at的运行方式:使用at这个命令来生成所要运行的工作,并将这个工作以文本文件的形式写入/var/spool/at目录内,该工作便能等待atd这个服务的取用和执行

15、at执行计划任务: at 时:分 年-月-日 要执行的命令.....一个at可以写多行命令,加上ctrl+d会出现结束的字样

16、查看单个at的计划任务:at -c 第几个任务号

17、查询目前linux上有多少个at计划任务:atq

18、crontab编辑计划任务:crontab -e

此时会进入到一个编辑界面,注意,每个工作是一行:

0   12  *   *  *  halt

分 时  日  月 周  要执行的命令

此例子的计划任务是:在每天的12点进行关机

  1. crontab查看linux下的所有计划任务:crontab -l
  • 删除所有的计划任务:crontab -r
  • 备份数据库命令:mysqldump -u用户名 -p密码 库名 > 备份地址
  • 备份数据表命令:mysqldump -u用户名 -p密码 库名 表名 > 备份地址

第八单元Shell编程

  1. shell脚本的特点:自上而下、从左到右的分析执行、“#”作为批注、空白行将忽略掉
  • Shell脚本的后缀名:.sh
  • Shell脚本的第一行声明:

#!/bin/bash

4、

Shell变量定义

变量名=值

5、

掌握变量的使用

$变量名

6、shell脚本可以让用户输入的方法是:read -p

7、shell脚本的判断:if....then

8、shell脚本自定义函数:function 函数名(){ 函数体 }

9、shell脚本的

F

or

do..done的数值处理

格式:

For(( 初始值;限制值;步长 ))

Do

循环体

Done

For(( i=1; i<=9; i++ ))

Do

Echo $i

done

  1. 追踪和调试shell脚本:

Sh -[nvx] 脚本名称

参数:

-n :不要执行shell脚本,仅查询语法问题

-v :在执行shell之前,先将shell的文件内容全部输出到屏幕上

-x :将使用到的shell内容显示到屏幕上

  1. 加减乘除:

a=10

b=20

Echo $(($a+$b))

据设置的数字大小来进行判断,然后输出结果

-lt  小于号

-gt  大于号

-eq  等于号

num=8

echo "the number is: " $num

if [ $num -gt 10 ];then

   echo "the unmber is larger than 10"

elif [ $num -eq 10 ];then

   echo "the number is equal with 10"

else

   echo "the number is smaller than 10"

F

i

//三个数求最大值

#!bin/bash

read -p "请输入第一个数

" a

read -p "请输入第二个数

" b

read -p "请输入第三个数

c

max=$a

;

if [ $max -lt $b ];then

max=$b;

fi

if [ $max -lt $c ];then

max=$c;

fi

echo "三个数的最大值是:

"$max;

//九九乘法表

#!bin/bash

for(( i=1;i<=9;i++ ))

do

for(( j=1;j<=i;j++ ))

do

echo $j*$i=$(( $i*$j ));

done

done

第九单元Linux网络管理

1、查看linux下ip的命令是:

ifconfig

2、临时修改linux下的ip:

ifconfig  eth0   ip

3、工具修改linux的ip:

S

etup

4、修改ip后重启网络服务的命令:service network restart

5、测试网络是否通畅的命令:ping ip号

6、ftp安装见文档

原文地址:https://www.cnblogs.com/dongmengtao/p/7161887.html