linux课程大纲

1、 Linux简介

Linux是一个Unix类操作系统,完全开发源码,多用户多任务,服务器(数据库服务器、Web服务器、应用服务器、日志服务器、图片服务器等等)、嵌入式领域(如路由器等需要Linux才能启动)、移动终端(比如安卓手机等、平板),Linux主流版本有:Ubuntu、RedHat、CentOS、SUSE、FreeBSD

2 、安装Linux系统(选择性掌握)

1)、安装虚拟机软件(VMware,注意不要随意卸载该软件,在Win7系统下建议安装8.0或9.0)

2)、用虚拟机模拟电脑(四类操作系统:windows、Linux、Mac OS、Dos)

3)、安装Linux系统(掌握)

Linux分区实际上是划分目录结构(Linux只识别文件和目录),必须有"根目录(/)"和"交换目录(swap)"

交换目录(swap):提供虚拟内存,当电脑内存不足,交换目录所占用的磁盘空间会当做虚拟内存来使用

磁盘8G(/dev/sda表示一个SCSI接口的硬盘,/dev/hda表示一个IDE接口的硬盘):

swap: 1G

/:剩余的全部空间

注:安装Linux操作系统,至少要有8G的磁盘空间(也就说给虚拟电脑至少要分配8G的磁盘空间)

Linux超级管理员账号是:root

大家之后的操作切换到root用户:su root

Ctrl+C关闭一条命令,Ctrl+Z撤销一条命令

3 、基本命令

ls / ll/ ls -l #查看目录的内容(list列表)

lsattr查看文件属性命令(attribute属性)

pwd#查看当前目录的绝对路径,显示当前所在目录(print work directory打印当前工作目录,fold文件夹)

cd#跳到指定位置(change directory改变目录)

clear #清屏

directory目录

示例:

[root@localhost bin]#pwd

/usr/bin

[root@localhost bin]#cd ../sbin

[root@localhost sbin]#pwd

/usr/sbin

[root@localhost sbin]#cd ../../opt

[root@localhost opt]#pwd

/opt

[root@localhost opt]#ls d05/

[root@localhost opt]#ls ./d05/

Linux系统是严格区分大小写

Linux支持三种格式的shell脚本,分别是bash、csh、ssh,其中bash是最常用的。

echo $SHELL输出SHELL变量的值(echo回声)

echo $x输出X的变量值x为变量名

环境变量分为系统环境变量和用户环境变量,env查看到所有环境变量set查看所有环境和本地定义的临时变量

PATH系统到PATH变量中寻找目录

[root@localhost ~]#(表示超级用户)或[u101@localhost bin]$(表示普通用户)

切换用户:

su用户名;

root表示当前操作的用户

localhost表示主机名等价于127.0.0.1

~表示当前处在哪个目录中,~表示当前登录的用户的home目录(普通用户登录后默认进入到home目录)

路径:表示文件或文件夹所在的位置

绝对路径:以/开头

相对路径:.表示当前目录;..表示当前目录的上一层目录

文件名:1带路径的(具有唯一性);2不带路径的。

第一个/表示根目录,之后的/表示目录之间的分隔符合。/下斜线,\上斜线。

PS:一个文件有相对路径,也有绝对路径(绝对路径具有唯一性)。

mkdir --help #查看命令的帮助信息

man mkdir #查看命令的详细帮助manual手册,指南

-rwxr--r-- 1 root root 145 Aug 13 11:21 f1.txt

r:read读

w:write写

x:execute执行

ll第一段权限二:对于文件夹是代表字目录数,对于文件是硬链接 三:四:属主,属组,五:文件或文件夹本身大小六七:时间日期八:名称

3.1常用管理命令

1、reboot #重启

2、shutdown -h 0或者init 0 /(halt --不建议用)#关机

PS:没有注销和开机的命令哦^_^

3、cd切换路径(change directory改变目录)#cd /etc/sysconfig

4、pwd查看当前路径(print work directory打印当前工作目录)#pwd

5、whoami查看当前用户#whoami

6、uname -r查linux内核版本号#uname -r

7、clear清屏命令#clear

8、tab键用来路径补全功能和智能提醒

9、netstat -an查找linux,windows(netstat -ano)下所有的端口#netstat -an

3.2文件管理命令

1、ll(ls -l)查看当前目录下有哪些文件或文件夹

ps: ls -l的别名就是ll,以-开头的,表示文件;以d开头的,表示目录。

2、mkdir文件夹名(make directory制作目录)创建文件夹,可以同时创建多个同级文件夹,如:mkdir d01 d02

3、mkdir -p ./first/second创建多层文件夹first和second都不存在情况下建目录

4、touch文件名#touch test.txt创建文件

5、rmdir d101 #删除空目录d101(rm:remove删除)

6、rm -rf强制删除文件名或文件夹名

7、cp源文件路径/源文件名目标路径拷贝文件(只是文件) #cp T01/test.txt T02/

cp:copy

8、cp -R源文件夹路径/源目录名目标路径拷贝文件夹(把文件夹及其所有内容一起拷贝)#cp -R T01 T02

9、mv源文件路径/源文件名目标文件夹(mv:move)剪切文件、剪切文件并重命名(文件和文件夹一样操作)

#将./T01/tt.log文件移动到./T02,并重命名为t.log

[root@localhost test01]# mkdir -p T01/T02

[root@localhost test01]# touch T01/T02/tt.log

[root@localhost test01]# mkdir T03

[root@localhost test01]# mv T01/T02/tt.log T03/t.log

10、查看文件命令:(install.log)按q退出

(1)more文件名按回车一行,空格一页。不能上下键翻行。

(2)less文件名按回车一行,空格一页。可以通过上下键上下翻行。按q就退出。

(3)head -n文件名查看文件的前n行,n表示你要看的行数。(默认跳出文件)

(4)tail -n文件名查看文件的后n行,可能会引起循环(文件时刻会更新的情况下)(默认跳出文件)

(5)cat文件名查看文件的所有内容(默认返回文件尾,并且跳出文件)

(6)cat -n文件名查看文件的所有内容,并显示行数(默认返回文件尾,并且跳出文件)

查看日志文件常用less(空格一页),view(空格就走一格)

less、view:?查找光标的上面,/查找光标的下面

sed -ne '3,30p'文件名#查看文件指定范围的行(例:第3行到第30行

vi编辑器命令扩展(命令模式下的操作):vim

三种模式:(1)命令模式

(2)编辑模式

(3)末行模式(命令模式基础上)

三种的切换:

命令模式切换到编辑模式:输入i或者a。(insert,after)编辑模式退到命令模式:esc

1.编辑模式命令:

在vi中先按esc退到命令模式,再按u可以撤销一次操作;

u撤销上一步的操作;

Ctrl+r恢复上一步被撤销的操作;

2、末行模式是以冒号:开头。注意:末行模式必须是在命令模式下操作。命令:

(1):set nu显示行号nu:number

(2):set nonu不显示行号

(3):w保存write

(4):q退出quit

(5):wq保存并退出

(6):n n表示行数跳转到指定行,如:5 --跳转到第五行

(7):q!强制退出(不保存,并退出)

(8):w文件名另存为例子:w lk.txt ---把当前文件保存为lk.txt

(9):n1,n2s/需要替换的源字符串/替换为目标字符串/参数

less、view或者vi打开某个文件后,用/查找字符串。

3.命令模式下的命令:

yy复制行

p粘帖

i或a光标前插入,光标后插入

n1表示从第n1行开始,表示一个具体的数字,比如:1

n2表示从第n2行结束,表示一个具体的数字,比如:20

参数:1、g表示所有找出所有目标字符都替换,并没有确认。

2、c表示目标范围所有行的首个目标字符替换,并每一次都确认。

3、i表示忽略大小写,但是i需要跟c或是g一起使用,g、c也可以一起使用。i:ignore忽略

4、没有参数时,默认目标范围所有行的首个目标字符替换,并没有确认。

5、g c表示找出所有目标字符都替换,并每一次都确认。

(n为数字,若n为点好(即.),表示从当前行开始到最后一行)

:n, $s/is/IS #替换第n行开始到最后一行中每一行的第一个is为IS

:1,5s/is/IS/ #替换第1行开始到第5行中每一行的第一个is为IS

:n,$s/is/IS/g #替换第n行开始到最后一行中每一行的所有is为IS

:1,$s/is/IS/g #替换第1行开始到最后一行中每一行的所有is为IS

重点:替换包含特殊字符的内容,如,把字符串li"n/u"x置换为Linux,此时需要用到置换符\

:1,$s/li\"n\/u\"x/Linux/g #把特殊字符用\置换成普通字普通字符

11、>覆盖导入cat A > B把A的内容覆盖导入到B(把原来的内容覆盖)

>>追加导入cat A >> B把A内容追加导入B ; cat A B >>C把A、B内容追加导入C

PS:文件若不存在,则会被创建。

echo "" > f101 #清空文件f101中的内容,但仍然有一空行(>是定向输出符,即将内容输出到指定位置;>>是追加符号)

cat /dev/null > f101 #清空文件f101中的内容,不会有空行

PS:echo针对字符串,cat针对文件内容。

12、对文件内容筛选查找,用"管道:|"和grep命令,查找包含目标字符串的该行所有内容

如:查找系统中80端口的监听信息:netstat -an| grep“80”

cat ./linux.txt | grep "more"

13、find路径参数参数值(查询文件)

参数:-name后面跟文件名#表示根据文件名进行查询

-size后面跟文件大小#表示根据大小进行查询

查找home下文件名为leke.txt的文件。

find /home/ -name leke.txt

查找home下大小为100M以上的文件。(+100k,-100M)

find /home/ -size +100M

14、wc -l文件名(line)统计当前文件的行数wc -l ./T01/tt.txt

-m文件名统计当前文件的字符数wc -m ./T01/tt.txt

-c文件名统计当前文件的的字节数wc -c ./T01/tt.txt

对于中文字符1W=2B,对于英文字符1W=1B。(W:word单词,字符)

3.3压缩管理

压缩管理:包(.tar)、压缩文件(.gz)、压缩包(.tar.gz或.tgz)

1 tar命令打包:

tar参数目标文件路径/包名被打包的文件名称

tar -cvf t101.tar f101 #将目录f101和文件打到当前目录下的t101.tar包中

tar -cvf /opt/t101.tar ./d101 #将当前目录d01打到/opt/t101.tar包中

tar -tvf t101.tar #查看t101.tar包中的内容

tar -xvf t101.tar #将t101.tar包中的内容释放到当前目录中

tar -xvf t101.tar -C /opt/d102/ #将t101.tar包中的内容释放到/opt/d102/目录中

2压缩:

gzip只能压缩单个文件,不能压缩目录(文件夹)。(压缩后,源文件不存在了)

压缩比:1表示压缩比最小;9表示压缩比最大

2G --> 1G(压缩比小,压缩速度快)

2G --> 500M(压缩比大,压缩速度慢)

gzip -1 f101.txt #将f101压缩,形成压缩文件f101.txt.gz

gzip f101.txt

gzip -9 f101.txt #将f101压缩,形成压缩文件f101.txt.gz

查看压缩包:

gzip -l f101.txt.gz #查看压缩文件f101.txt.gz的压缩信息,小写字母l

解压:

gzip -d f101.txt.gz或gunzip f101.txt.gz #解压f101.txt.gz文件

对包进行压缩:

tar -cvf t101.tar f101 #首先打包操作

gzip -9 t101.tar #然后将包压缩,最终形成压缩包t101.tar.gz

tar命令只有打包功能,没有压缩功能,它是借助gzip进行压缩

3打包并压缩:(一键打包并压缩)

tar参数目标文件路径和包名被打包的文件名称

tar -zcvf t101.tar.gz T101 #将目录和文件打到当前目录下的t101.tar.gz压缩包中

(vf必须放后面,不然会报错)

tar -zcvf /opt/t101.tar.gz T101 #将目录和文件打到/opt/t101.tgz压缩包中

tar -ztvf ./t101.tar.gz #查看t101.tar.gz压缩包中的内容

tar -zxvf t101.tar.gz #将t101.tar.gz压缩包中的内容释放到当前目录中

tar -zxvf t101.tar.gz -C /opt/d102/ #将t101.tar.gz压缩包中的内容解压到/opt/d102/目录中

#针对windows平台下的zip压缩包在linux系统里面的解压

unzip -d d101/ f101.zip #将f101.zip解压到d101目录下

3.4网络配置

ifconfig -a#查ip信息

ping#测试网络是否连通

service network restart(start\stop) #重启网卡服务

虚拟网卡桥接连接方式

hostname #输出主机名

3.5组&用户&权限

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

所有者:一般指文件的创建者

文件所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

其他组:除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

组管理:( cat /etc/group,查看当前系统存在的组)

groupadd g1015 #组必需要有组id,如果没有指定组id,则系统自动分配唯一的组id

groupadd -g 168 g1016 #指定了组id,则系统不会自动组id

groupdel g1066#删除组g1066,若组中有用户,若组中包含用户,则不能删除组(必须确保组是空的才能删除组)

groupmod - n g1066 g1016 #将g1016更名成g1066

groupmod -g 500 g1066 #将组g1066的id更改成498

用户管理:(cat /etc/passwd存储用户基本信息;cat /etc/shadow存储用户密码信息)

一个用户可以拥有多个组:主组(有且只能有一个主组)和附属组(0到多个附属组)

用户的密码若是以*号或!开头,则表示该用户不能登录Linux操作系统

useradd u101 #u101用户登录后,默认进入到/home/u01目录下

userdel -r u101 #彻底删除用户

passwd u101 #passwd默认给当前用户设置密码,建议密码为123456设置密码时,不会显示出来

su u101 #切换用户(*)

改变用户所在的组:

usermod -g组名用户名

权限:Linux中通过控制每一类用户(有3类用户)对文件/文件夹的读、写、执行来实现权限控制

rw_rw_r__:前三个字符表示拥有者的权限,中间三个字符是组权限,后面三个字符其他人。

r: read可读

w: write可写

x:execute可执行

r用数字4表示,w用数字2表示,x用数字1表示。

drwxr-xr-x 2 root root 4.0K 11-06 18:30 Desktop

d:表示该文件为文件夹

第一个rwx,表示该文件所属的用户对其所拥有的操作权限

第二个rwx,表示与该文件所属用户在同组内的用户对其所拥有的操作权限

第三个rwx,表示不与该文件所属用户在同组内的用户对其所拥有的操作权限

第一个root:表示该文件夹属于哪个用户

第二个root:表示该文件夹属于哪个组

u:所属用户user(默认三种权限都有,仅限于文件夹)

g:所属用户所在组的用户group(默认仅没有写的权限,仅限于文件夹)

o:组以外的用户other(默认仅没有写的权限,仅限于文件夹)

#修改权限:

格式:

chmod权限文件名(change,modify)

chmod u-w,g+w,o=r /home/linux.txt#执行完后变成dr-xrwxr--

chmod u-r文件名

drwxr-xr-x(一个组中可以包含到多个用户)

d表示是个普通文件夹,-表示普通文件

rwx:文件拥有者具备的权限(u),7

r-x:文件所属组中的其他用户所具备的权限(g),5

r-x:其他用户所具备的权限(o),5

#r=4;w=2;x=1,755

chmod -R 574 /home/qq等同于chmod -R u-w,g+w,o=r Desktop/ (-R针对文件夹,-R表示文件夹及其所有子内

容都会发生更改)

最大是777(drwxrwxrwx),最小是000(d---------)

chmod 777 Desktop/等同于chmod a=rwx Desktop/ #a代表所有用户

总结:

1更改文件的权限:chmod u-w,g+w,o=r文件名

2更改文件夹的权限:chmod -R u-w,g+w,o=r文件名

3拥有者默认权限rwx,组内用户默认r-x,组外用户默认没有任何权限。

---------------------------------------------------------------------------------------------------------------------------------------------------------

1、更改单个文件的属主:

语法:chown用户名文件名

chown u102 echo.sh

2、更改文件夹的属主:

语法:chown -R用户名文件名

chown -R u101/home/qq#单独更改文件夹的拥有者(-R表示文件夹的所有子内容全部更改)

3.6扩展命令

cal #查看日历calendar

date #查看日期

who #查看有哪些用户登录了系统

whoami #查看当前是哪个用户登录了系统

history #查看历史命令

grep ”zpp” /etc/passwd #到/etc/passwd文件中查找zpp字符串(字符串可省略双引号)

grep -n "root" /etc/group #查看/etc/group文件中包含root的行并显示行号

du -h文件名#查文件或目录的大小

#查看文件夹大小du -h T01

#查看文件大小du -h tt.txt

ps -ef #查看系统正在运行的进程(process)

ps -ef | grep “bash” #查看系统正在运行的进程名包含bash的进程(即查看指定用户的进程)

vmstat #查看cpu\io\内存等信息,m:memory。

kill -9

#强制终止(pid表示进程号,可以用ps命令查看到进程号)

top #查看当前系统的资源使用率(默认是5秒刷新一次,相当于windows的资源管理器)

强制踢出已登录用户:

方式一:

ps -ef | grep用户名#查到用户登陆的进程号对应的pid

kill -9登陆进程号

方式二:根据用户名来踢

killall -9 -u用户名

d:disk磁盘,f:free剩余的

du -h文件名#查文件或目录的大小

df -h #查磁盘信息/空间(*)

free -m #查内存

vmstat #查看CPU\IO\虚拟内存

top #查看当前系统的资源使用率

3.7远程连接&安装软件

客户端工具(远程连接Linux服务器):SecureCRT、SecureFXP、xshell、ssh、putty,通过SSH2(端口是22)协议远程连接到Linux服务器(SSH2协议是在安装Linux操作系统时自带的协议),前2个最常用,支持中文,后2个不支持中文

ssh:secure shell安全壳

安装程序命令:

1.安装ssh远程连接服务:(我们选择本地安装方式)

先把ssh文件夹拖拉复制到/home/lktest/目录下。

执行本地安装命令:sudo dpkg -i /home/lktest/ssh/*;

测试ssh服务端有没有安装成功:ssh localhost;

如果出现如下的Welcome to Ubuntu .....的信息,代表安装成功了。

(注意!!!ssh localhost命令前后要敲两次)

(在线安装:sudo apt-get install openssh-server)

然后在tools文件夹里面找到SecureCRT.rar。打开SecureCRT(无需解压,直接点击),远程连接linux:

PS:sudo:以超级管理员的权限来运行。

(sudo dpkg -i /home/lktest/ssh/*;这句话的意思是安装ssh目录下的所有安装包,*代表所有内容。pkg:package包,d:debin(软件的一种格式), i:install安装,sudo:以超级管理员的权限运行,do:运行,su:super user

2.安装vim编辑器(vi编辑器的高级版本):

2.1通过secureFXP远程连接linux,把vim文件夹拖拉上传到/home/lktest目录下面。

2.2执行安装命令:sudo dpkg -i /home/lktest/vim/*;

安装完就可以使用vim命令来打开文件了。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180505B0DDF700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券