linux系统的用途、vi/vim编辑器

一、linux系统的用途

        (1)应用领域

                嵌入式开发:可以移植的操作系统

                服务器系统:网路运维、网络管理员、服务器管理员

                                        大数据、云计算,要求是熟悉掌握linux操作系统

        可移植:操作系统可以在不同的目标主机运行,可以根据目标主机私人特性做私人定制

        粤嵌的板子:cpu型号、内存大小、外围传感器(wifi、蓝牙)

        其他公司的板子:cpu型号不一样,内存大小不一样,外围传感器(根据需求添加)

        可移植的系统:安卓系统、linux系统

        开源免费:安卓系统底层也是用的linux

        windows闭源

        (2)linux发行版本

                redhat、ubuntu、deban

二、vi/vim编辑器

 vim是linux系统中一个功能强大的文本编辑器

        vim 文件名字-------->有文件就打开-------->没有该文件创建文件再打开

  1. 基本操作

     插入模式(编辑模式):按a或i,进入插入模式

     命令模式:按下esc退出插入模式,进入命令模式

     保存退出:输入:冒号wq   w---->保存的意思,q--->退出   !---->强制

     强制保存退出:输入:冒号wq!

     复制: yy---->复制光标所在一行  (不在插入模式)

           nyy---->复制n行      6yy--->复制6行

     粘贴:p

     剪切:dd----->剪切一行

           ndd---->剪切n行

     删除:x-------->删除光标所在位置的第一个字符

            3x------>删除光标所在位置的开始的第3个字符

            X------->删除光标前一个字符

     

        2.linux常用命令

   linux中的命令统称叫shell命令

   shell是一个命令行解释器,将用户命令解析为操作系统能理解的指令,实现用户与操作的交互

  shell终端(类比windows的DOS终端):我们平时输入命令、执行程序的那个窗口

gec@ubuntu:/bin$

root@ubuntu:/etc#

gec@ubuntu:~$

           ~------>当前目录是家目录,等价于/home/gec

           gec------>当前用户的名字

           root----->超级用户的名字

           @-------->分隔符

           ubuntu---->操作系统的名字

           /bin-------->表示你当前所处位置路径/bin

          $-------------->表示当前用户是普通用户

          #-------------->表示当前用户是超级用户(管理员)

家目录:linux支持多用户,每个用户linux系统都会给它创建一个专属文件夹,这个专属文件夹的名字与用户名一样。linux把这个专属文件夹所在路径称为这个用户的家目录

比如:用户名叫gec,它的家目录/home/gec

linux中路径的写法跟windows的区别:

windos:区分不同的磁盘分区C:\xxx\ccc\eee

linux:没有分区,所有的文件及文件夹都是从根目录开始向下延伸(linux一切皆文件)

        (1)新建文件、打开文件

     vi/vim 文件名

     touch 文件名 ->只能新建不能打开

     gedit 文件名  ->跟记事本差不多

        (2)删除文件或者文件夹

   rm 文件名

   rm  文件名   -rf(r表示递归,f表示强制)

   (不要敲这行代码)

sudo rm /* -rf----->sudo管理员+ rm删除+  /*选中所有+ -rf递归强制

        (3)新建文件夹

                        mkdir 目录名

        (4)切换目录

                cd 目录名字

cd .. 返回上一级目录

cd .  当前目录

cd - 返回上一次进入的目录

linux的根目录/

bin-------------->工具目录、可执行程序、命令所在的路径

dev------------->设备驱动文件

proc----------->系统信息

sbin------------>管理员工具(root)

sys------------->驱动信息

var-------------->系统日志

boot------------->系统启动文件

etc----------------->配置文件

lib------------------>库文件

mnt---------------->挂载目录

root---------------->管理员工作目录

tmp----------------->临时目录

cdrom------------>光驱目录

home------------->用户主目录(每个用户在该目录中均有一个子目录)

usr----------------->用户的程序文件目录

绝对路径:从根目录开始一层一层的往下找,只要文件在这目录中,肯定是能找到的

相对路径:从当前路径开始,往前或者往后查找

        (5)ls命令

   ls -al----------------->列举所有文件,包括隐藏文件

                   linux中,隐藏文件都是以小数点开头的

                    其中.和..要注意

                    .一个小数点表示当前路径

                    ..两个小数点表示上一级路径

利用这个特点自己新建隐藏文件或者目录

              touch .1.txt

              mkdir .dir

ls -l------------------->列举所有文件,不包括隐藏文件

gec@ubuntu:/mnt/hgfs/share$ ls -l 2.c

                  -rwxrwxrwx 1 root root 25 Aug 31 20:04 2.c

     linux中一切皆文件

     记事本是个文件

     键盘也是文件--------->键盘驱动文件

     触摸屏也是文件------>触摸屏驱动文件6818  /dev/input/event0

     液晶屏文件------------>液晶屏驱动文件6818  /dev/fb0

     linux中有七种类型的文件

     目录文件(directory)-------------d

     普通文件  -

     字符设备文件(char)-------------c  (学习驱动)

     块设备文件(block)---------------b   (学习驱动)

     套接字文件(socket)--------------------s  (网络编程)

     软链接文件(link)--------------------l

     管道文件(pipe)----------------------p    (系统编程)

  例子:  -rwxrwxrwx 1 root root 25 Aug 31 20:04 2.c  

第一个字符:- 普通文件(.c .txt .bmp .mp3...)

第二个字符:rwx:表示可读可写可执行

            r----->read

            w---->write

            x------>execute

            分为三组rwx:分别表示当前用户,同组用户,其他用户的操作权限

第十一个字符:1---->硬链接数

第十二个字符两组用户名:分别表示当前文件所属者名、表示当前文件所属组名(没有所属组就是它自己)

第二十个字符:表示文件所占空间大小

第二十二个字符:表示文件创建时间或者文件最后一次的修改时间

注意:在共享路径下,创建文件是默认的满权限

        (6)echo命令

   标准输入------->默认是键盘

   标准输出------->电脑显示屏

在屏幕上标准的输出数据

   echo  “hello”

   echo   123456

        (7)切换超级用户(管理员用户)

   用途:(1)安装驱动设备文件(增添新设备文件)

                (2)当想要修改根目录下的文件夹里面的内容

   临时借用管理员权限:

         sudo 命令的完整写法

         sudo  touch 1.c

   永久管理员权限:

          sudo -s

   切换回普通用户

           exit或者su 普通用户名

        (8)剪切文件或者目录(重命名)

   mv 文件名 目标路径(从当前路径能跳到目标路径即是剪切,否则是重命名)

   mv 1.c /mnt/hgfs/share(肯定是剪切)

   重命名

mv 1.c 2.c //给1.c改名2.c

        (9)修改权限

   chmod 777 文件的名字   -------->修改文件为满权限(777)

例如:chmod 754 1.c

        (10)软链接

     软链接:ln -s 原来的名字 软链接名字

             类似于windows的快捷方式(删除软链接,不影响原来的文件打开)

     硬链接:ln 原来的名字  硬链接名字

             相当于拷贝文件(备份)

      总结:

软硬链接的共同点:原文件修改了,软硬链接都跟着修改,软硬链接修改了,原文件也跟着修改

                               软硬链接只能在纯粹的linux环境下才能创建(共享文件夹下不能创建软硬链接)

                      不同点:软链接依赖于原文件,硬链接不需要依赖原文件

                              硬链接的文件类型与原文件是一样的,软链接文件文件类型属于链接文件

                              硬链接不能指向目录

        (11)打包与压缩文件

linux中有两种常见格式的压缩包

.bz2结尾和gz结尾

打包文件/文件夹:   tar -jcf xxx.tar.bz2 文件1 文件2...(-j对应bz2这个压缩程序)

                    tar -zcf xxx.tar.gz  文件1 文件2...(-z对应gz这个压缩程序)

查看压缩包里面的内容:tar -tf 压缩包的名字

 

 

 

 

 

解压:          

tar -jxf abc.tar.bz2    //解压是默认当前路径

                tar -zxf abc.tar.gz    //解压是默认当前路径

解压到指定路径:

                tar -jxf abc.tar.bz2 -C 你要指定的当前路径

                tar -zxf abc.tar.gz -C  你要指定的当前路径  

        (12)查找搜索相关的命令

 find

    比如:find / -name stdio.h   //在根目录下面找名字为stdio.h的文件

          find / -type 文件类型

          例如:find / -type d  //搜索根目录下的所有的文件夹  

grep

     比如:grep “printf” stdio.h -Hn  //我要在stdio.h文件中搜索关键字printf,并打印printf出现的行号

       -H  打印文件的名字

       -n  打印关键词出现的行号

       -w  全字匹配,跟关键字一模一样

           printf 正确

            (“printf”)正确的,跟非英文混合也是可以的

        (13)查看文件

   cat 文件名    //查看整个文件的内容

   head

               head 1.txt -n 2  //查看1.txt的前两行

   tail

               tail 1.txt -n  2//查看1.txt的最后两行

        (14)清屏

   clear

        (15)ps、 top命令

   查看当前系统中进程的运行状态

   ps -elf

   动态查看进程的状态信息

   top

        (16)拷贝文件、目录

cp 文件名 目录路径

cp  目录名 目标路径  -r(递归)

例子:cp -r  a  /mnt/hgfs/share或者cp  a  /mnt/hgfs/share  -r

        (17)给命令取别名

注意:不要与系统中原本命令冲突

alias  c=’clear’   //表示给clear命令换个名字叫c

取消别名:

unalias c   //取消取的别名

        (18)查询shell命令的路径

     which shell命令的名字

     which ls ---->/bin/ls

      which clear---->/usr/bin/clear

        (19)重启ubuntu

   reboot----->重启

        (20)查看ip或者修改ubuntu的ip地址

查看ip地址:ifconfig   //eth0网卡名字  (windows查看ip地址是ipconfig)

修改ip地址:sudo ifconfig eth0 192.168.11.2

        (21)重定向与追加重定向

重定向:重新确定方向 >会覆盖原来的内容

       echo “hello”>2.txt

追加重定向:>> 在末尾追加,不会覆盖文件中原本的内容

        (22)查看文件大小

du 文件名 -b

目录的大小:它里面所有文件和文件夹大小的总和

 

        (23)目录树

tree 目录名

        (24)比较文件或者目录

diff 1.c 2.c -s //比较两个.c文件,内容一样就打印提示

diff 目录1 目录2 -r //递归的比较两个目录

        (25)查看当前路径名:

   pwd

        (26)添加/删除用户

添加用户:sudo addusr 用户名

          弹出提示让你输密码,输入个人信息(随便输)

 修改密码:sudo passwd 用户名

弹出提示让你输入新密码

删除用户:sudo userdel -rf 用户名//连同家目录一起删除

        (27)安装man手册

     sudo apt-get install manpages-posix manpages-dev manpages

        (28)查看环境变量

env

其中有个重要的环境变量,PATH

PATH是linux可执行程序的环境变量,只要你把程序放在PATH指定的路径下,都可以直接输入程序名字运行程序

输出环境变量

echo $PATH

设置环境变量

export PATH=新的路径:$PATH

        (29)按屏幕显示文本文件

  more  文件名

  按enter键是一行一行显示,按空格键为一屏一屏显示

  按q退出显示

  less 文件名

可以上下键翻阅

你可能感兴趣的