Linu简介

1 Linux简介

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

1967丹尼斯·里奇和肯·汤普逊用汇编语言和B语言写了unix,1973 这两位共同发明了c语言,然后用C语言重写了unix。Unix之后慢慢变成商用收费版。linux之父:林纳斯·托瓦兹(芬兰人)于1991发明了linux,免费开源是他的特点,之后逐渐被大多数机构利用起来,包装修改发布成各种版本的linux。

 

PS:学到最后,部分同学以为Ubuntu linux操作系统必须安装在VM虚拟机(虚拟机也有很多品牌)里面。其实在公司里面一般是没有VM虚拟机,linux操作系统是安装在一台真实的服务器级别的电脑上(一般几十万的电脑,没有显示器的哦)。同学们windows电脑和VM虚拟机的linux电脑是两台不一样的电脑,分别有两个不同IP地址。

 

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用户: suroot

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

3 linux常见命令

3.1 基本命令

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

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

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

目录,folder文件夹)

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

     clear #清屏

 

directory  目录

folder 文件夹

示例:      

[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   执行

(以d开头的,表示目录;以 - 开头的,表示文件)

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

3.2 常用管理命令

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.3 文件管理命令

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

ps: ls -l 的别名就是ll

 

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/

cpcopy

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]# touchT01/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 文件名  查看文件的所有内容,并显示行号(默认返回文件尾,并且光标跳出文件)

 

 

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

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

 

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

 

PS: ./表示当前目录。./可以省略。

 

 

 

 

 

 

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:q!                强制退出(不保存,并退出)

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

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

 

lessview或者vi打开某个文件后,用 / 或者?号查找字符串。

 

3、命令模式下的命令:

yy          复制行

p            粘帖

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

 

 

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

 

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

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

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

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

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

iignore忽略

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

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

 

 

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

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

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

#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

echo  "helloword"  >   f101;   #把字符串helloword覆盖导入到f101文件。

echo  "helloword"  >>  f101;  #把字符串helloword追加导入到f101文件。

 

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(gbk编码表),对于英文字符1W=1B。(W:word单词,字符)

 

 

3.4 压缩管理

    压缩管理:包(.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 (数字1  f101.txt #将f101压缩,形成压缩文件f101.txt.gz

      gzip  f101.txt

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

 

      查看压缩文件:

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

 

      解开压缩文件:

      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.6 网络配置

        ifconfig  -a                    #查ip信息

    ping                          #测试网络是否连通

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

        虚拟网卡桥接连接方式

    hostname                       #输出主机名

 

 

3.7 组&用户&权限

   在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       可写

     xexecute    可执行

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

     drwxr-xr-x  2 root root 4.0K11-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(一个组中可以包含0到多个用户)

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

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

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

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

    

     #r=4;w=2;x=1755

   假设qq文件夹的默认权限是drwxr-x---

   chmod  -R 574  /home/lktest/qq等同于 chmod  -Ru-w,g+w,o=r  /home/lktest/qq

(-R针对文件夹,-R表示文件夹及其所有子内容都会发生更改)

 

 

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

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

 

  总结:

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

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

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

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

     1、更改单个文件的属主(拥有者):

     语法:chown 用户名 文件名

           chown  u102  linux.txt

 

     2、更改文件夹的属主(拥有者):

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

          chown  -R  u101 /home/qq     #单独更改文件夹的拥有者(-R表示文件夹

的所有子内容全部更改)

3.8 扩展命令

     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的进程(即查看指定用户的进程)

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

 

 

强制踢出已登录用户:      

                    方式一:

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

                 kill -9  登陆进程号

               

 

              方式二:根据用户名来踢

                 killall -9  -u 用户名

 

d:disk磁盘,ffree剩余的,m:memory内存

 

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

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

free  -m        #专业查内存

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

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

     

3.9 远程连接&安装软件

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

     ssh:secure shell 安全壳

    我们敲的命令也叫shell命令(shell脚本)。

 

安装程序命令:

 

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

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

 

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

 

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

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

(注意!!!ssh localhost命令前后要敲两次才会显示Welcometo信息)

 

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

 

 

 

 

 

 

 

 

 

 

 

 

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

按照如下图操作:

 

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

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

 

 

 

 

 

 

 

 

 

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

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

按照下图操作:

 

 

 

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

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

 

 

 

 

3.10 SecureCRT乱码解决

用SecureCRT工具连接linux电脑,

当打开某个文件乱码时,按照如下操作。


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值