linux 基础知识与技能 、常用命令、高阶命令

一 当前主流操作系统及其特点

linux基础
 1.1 :操作基础及其概念

 WindoswsLinux的关系:

 当前主流的操作系统(2015)windowslinuxandroidios symbianunix(与c语言伴生)

操作系统的特点:

Windows傻瓜式让所有人都会用电脑) ,好学习工资低

  Linux:(linux认为每一个用户都是专业人士)操作麻烦学习比较难免费的开源的linux性能好可移植性好好的设计理念。

  Android移动操作系统,android基于linux(可操作性强)

   Ios操作系统很优秀,很有创造性,走钢丝的形式,

   嵌入式操作系统中用的最多的linux+wince(微软的嵌入式产品)

  当前消费电子(要求界面美观)android;工业(安防、航空、工业、自动化控制等)使用Linux(可裁剪性强 、稳定)

当前:( 2015)想做嵌入式开发,在操作系统要瞄准两个操作系统Android,linux

  1.2 :多机开发双系统与虚拟机

   开发嵌入式程序,需要linux但是因为:Windows中有许多很好用的软件,如:notepad+,source insight(写程序的软件,专门用来写代码),所以也需要windows。

  用Windows的同时又用linux写代码在Windows,开发 编译在Linux中运行

   即需要Windows又需要linux

 第一种双系统(非常不方便)

 第二种:虚拟机:方便,损失性能,与真机有微小的差异

 第三种两台电脑:不方便

现实中:

   个人开发者虚拟机

大公司服务器+客户端(两台电脑的形式)

 1.3 :搭建开发环境

  涉及到两个方面:虚拟机软件+linux系统

   虚拟机软件就是一个在一个单纯在windows中运行的软件,跟word、360没有本质区别。现在的主流的虚拟机软件有VMware和virtualbox

  虚拟机软件在Windows系统中运行,运行后它会模拟出来一个电脑,所以叫虚拟机。然后我们可以在该虚拟机中安装别的操作系统。

  当前,可以使用事先安装好的aston-ubuntu,密码是root。

1.4 :隐藏与非隐藏文件

  Windows中文件隐藏与不隐藏通过设置文件属性实现的。可以点击文件,右键属性,选择勾选隐藏选项来设置文件为隐藏文件。

  在Windows中查看隐藏文件方法菜单栏-工具-文件夹选项-查看-显示所有文件和文件夹。

  Linux中linux中隐藏文件特点是文件名以.开头,跟文件属性无关。在linux中查看隐藏文件用ls-a命令(普通显示ls)

 1.5 :相对路径与绝对路径

  路径路径是用来标识一个文件在操作系统的文件系统中存储位置的

举例:

  1. \winshare\eaum.c 全路径           pathname

 D:\winshare    路径  path

 enum.c   文件名  name

   绝对路径路径是从绝对位置开始的。譬如Windows中从某一盘符开始(c:\) Linux中从根目录/开始。

   相对路径指明路径的时候,是从当前所在的位置开始的。

linux内核、发行版:

1:linux本身指的是一个操作系统内核,只有内核是无法直接使用的。我们需要的,可以直接使用的操作系统是一个包含了内核和一批有用的应用程序的一个集合体,这个就叫inux的发行版ubuntu、redhat就是linux的不同发行版。

1.6  :GUI(图形用户界面) 和cmdline命令行)

                GUI       :(图形用户界面) 和cmdline (命令行)

                cmdline :   command line,命令行。

                人机交互:   人和机器(计算机)进行交互,常用的有命令行和GUI

                windows下既有GUI,又有命令行。linux中也是既有GUI,又有命令行。

                但是,在linux中常用命令行,在windows中常用GUI,这是为什么?  原因在于,一般用时候身份不一样,在用linux的时候一般是专业的软件开发人员才会用,所以一般会使用命令行。然而在windws下一般都是用来娱乐和生活的。  

                结论:专业来软件设计的会用到命令行,用来娱乐生活一般GUI就能够满足

1.7 : 关于vi和vim编辑器        

                (1)什么是编辑器?编辑器是一款软件,它的主要作用就是用来编辑。譬如用来编写文件或者代码

                (2)windows下常用的编辑器:自带的notepad 、notepad++等

                (3)linux中常用的编辑器,自带的最古老的vi、比较好用的vim、gedit。

                注:vi和vim的关系:vim是vi的升级版,推荐使用vim。 

               (4) vi 基础的使用 (但是由于版本原因vi连接到vim所以使用vi其实表面上看来是用vi其实内是在用vim)

                  4.1   使用vi打开(创建)一个文件:

                        vi  pathname(如果文件存在那么打开它,如果不存在那么就新创建这个名字的文件并且打开它)

 1.8  :vi的两种模式: 

                1 命令模式:当vi打开时默认为命令模式,要转入输入模式需要输入a或i按键才可以进入。在命令模式下输入的所有东西都被vi当作命令来对待。

在命令模式下不能随便输入,此时应该输入相应的命令,让vi来做相应的事情。

                2 输入模式:输入模式用来向文件输入内容。可以从命令模式中按a或i进入输入模式,就可以随意按键盘进行输入,输入完成后要先退回到命令模式(因为保存也是一种命令)。在输入模式下按esc键退回到命令模式

       屏幕左下角无显示是是命令模式,有显示 --INSERT是是输入模式

                在命令模式下如何保存?

                :wq                保存并且退出

                :w                  只保存不退出

                :q                  不保存退出

                :q!                  不保存强制退出

                :wq!            保存并强制退出

  1.9  :vi的高级应用

               (1) 查找 :

                                        在命令模式下               /xxx                   就可以找到xxx

                (2)快速切换行 :

                                        在命令模式下输入        : 行号                就可以跳到输入的行号(譬如:1000 就切换到1000行)

                (3) 设置显示行号 :

                                        在命令模式下输入        :set nu            就可以显示行号

                (4) 设置不显示行号

                                        在命令模式下输入        :set nonu        就不显示行号

                (5) 设置永久显示行号        (需要修改vi配置文件)

                                打开vi配置文件~/.vimrc,在其中输入set nu即可

                                vi  ~/.vimrc   进入配置文件  输入set nu 保存退出即可

1.10   linux命令行中一些符号的含义

                        .         代表当前目录

                        ..        代表上层目录        当前目录的父目录

                        -        代表前一个楼层     我刚才从哪个目录过来的

                        ~        当前用户的宿主目录

                        /          代表根目录

                        $         普通用户的命令行提示符

                        #        root用户的命令行提示符

                        *        万能匹配符

                

                                

宿主目录:             所谓宿主目录,就是操作系统为当前用户所设计的用来存放文件、工作的默认目录 。如windows中“我的文档目录” 就是windows设置的宿主目录

在linux中每个用户都有自己的宿主目录,这个用户对普通用户来说,在/home/username/,而对于root用户来说在/root                       

1.11 :vi高级应用:行删除、行复制、行粘贴 

                                

                               (1) 行删除:进入命令模式,光标移动到要删除的行,然后输入dd

                                删除多行? 进入命令模式,光标移动到要删除的多行的起始行,输入xdd (x是几就会删除多少行)

                                (2) 行复制 :命令模式下,xyy        (x是几就复制几行)

                               (3) 行粘贴  :命令模式下,p 

                                        复制要把光标放在要复制的第一行

                                        粘贴会粘贴到光标所在的下一行

1.12 : linux特权管理 :普通用户和特权用户 su命令切换用户

windows中有普通用户和特权用户 ,特权用户是Administrator administrator ,普通用户可以有多个。

 特权用户是系统的管理员,对系统内所有文件具有操作权限。每个普通用户只能处理自己的文件 ,不能访问其他用户的文件,更不能随意处理操作系统的文件。

linux中也有普通用户和特权用户的区别。特权用户就是root,普通用户权限受到限制,普通用户不能cd /root/,不能apt -get listall 来装软件。

可以使用su 用户名来在不同用户间切换。

        譬如从普通用户切换到root: 可以su root,然后输入root的密码即可转入root用户。

        从root切换到普通用户: 则su 普通用户名即可。

1.13 : rwx与linux中权限表示

                属主为u   属主所在的组用户为g  其他用户为o

                ls -l显示详细信息 :

                                                drwxr-xr-x  十个字符,第一个表示文件类型(属性)。剩下的九个分成三组,表示文件权限

                如果是字母表示有权限,如果是-表示没有权限

                                                前三个表示此文件的属主对文件的权限

                                                中间三个表示此文件属主所在的组的用户对文件的权限

                                                最后三个表示其他用户对文件的权限

                rwx怎么解析?   r代表可读 w代表可写 x代表可执行

                                                rwx : 可读,可写,可执行

                                                r-x  :  可读,不可写,可执行

                                                r--   : 可读,不可写,不可执行

                                                ---   : 不可读,不可写,不可执行

                权限还有另一种表示方式,用数字来表示,编码规则如下:

                                r                 可读               4

                                w               可写                2

                                x                可执行            1

                                -                无权限             0

                有了这个编码规则,则 drwxr-xr-x   编码后为 755

1.14 : ununtu中使用sudo暂时获取root权限

             这是ubuntu中的一个特点,不用切换用户就可以暂时获取root用户权限,而不必进行用户切换

             譬如在普通用户下要在线安装vim :

               sudo apt-get install vim   然后输入用户密码就可以暂时获取用户特权并且进行在线安装vim

               

                                                                                                            

 二 : linux 常用命令              

                1  : ls (list,列表)

                                作用:使用列表把当前文件夹下所有文件显示出来 

                                ls -a     显示所有文件,包括隐藏文件

                                ls -l      以详细信息显示

                                ls -al    以详细的方式显示所有文件(ls -la 、 ls -l -a 、 ls -a -l都可以)

                 2  :  cd (change directory,更改目录)

                                 作用:用来切换目录

涉及到相对路径

                            cd .        当前目录

                            cd ..       上一层目录

                            cd ../../   上上一层目录

                             cd ../../../../  ...... 直到根目录停止

               3 :  pwd  (printf work directory ,打印工作目录)

                              作用:打印出当前的绝对路径

                4 :  mkdir    (make directory,创建文件夹)

                                mkdir  文件夹名

                                作用:创建空文件夹

                                mkdir -p    已经存在文件夹名/新文件夹名   (级联 创建文件夹)

                 5 :  mv (move ,移动)

                                作用:在目录间移动文件,重命名文件

                                                mv 源文件pathname  目的文件pathname

                               简单示例如下:

                                /hme/tu/shi_li/ab   是一个绝对路径

                                而我们当前是处在  /hme/tu/shi_li/ab  这个路径中的 ab 这个文件夹下 

                                通过ls查看可以看到有一个ab.txt的文件  那么现在要把ab.txt这个文件放到shi_li 这个文件夹(目录)中  


 

                                要到shi_li 这个目录下首先得回到shi_li 目录这个路径 因为ab是shi_li这个文件夹的子文件夹shi_li里面有ab,而ab里面没有shi_li。所以先cd ..返回上层目录,然后再

 mv ab/ab.txt   ./ab.txt  (其实./后面的ab.txt的名字是可以重命名的但是这里为了直观显示不更改名字) 回车后通过ls 查询 看到shi_li 本来是只有ab abc 两个子文件夹 通过刚刚的命令把ab.txt移动到了shi_li 这 

                                  

                                    为了验证是把ab.txt移动过来 通过 cd ab 到ab目录下 然后ls查看可以看到确实之前ab里的ab.txt不见了,证明确实是通过mv 移动到了shi_li这个目录下

                                         

                                    然后可以再把ab.txt 这个文件放到shi_li的子文件夹abc中

                                    首先先退回到shi_li目录中 cd ..

                                    然后mv ab.txt ./abc    ab.txt 是文件名 而abcab.txt放入的目标文件夹 回车

                                     通过ls查看shi_li目录下ab.txt不见了,cd abc 进入abc子文件夹

                                     la查询,确实看到了ab.txt 

 

 注:其实这里有个错误,其实我们再把ab这个目录中的ab.txt给移动到shi_li中时,不需要先cd ..返回上一层只需要 mv ab.txt ../ab.txt     (因为上面我们说过cd ..是返回上层而这里../ab.txt 的意思是我们把这个文件移动到上一层目录中去名字是ab.txt)

                      6 :  touch (创建文件)

                                touch pataname

                      7 :  cp (cope .复制)

                                   作用:复制文件或文件夹

                                                cp 源文件pathname  目标文件pathname

                                                cp -r  用来复制文件夹

                                                cp -f  强制复制

                                      实际操作时,一般都是cp -f 复制文件,cp -rf复制文件夹

                      8 :  rm (remove ,去除,删除)

                                      作用:用来删除文件、文件夹    

                                                rm 文件pathname   

                                                rm -f 文件pathname 强制删除文件

                                                rm -r文件夹pathname

                                                rm -rf 文件夹pathname 强制删除文件夹

                          注:当打开文件进行编辑时,是把文件的内容复制一份到内存中,也就是说没有

接下来对文件进行编译操作的不是硬盘里面的而是复制到内存的那一份,然后编辑完后选择保存(将内存里的这份覆盖硬盘里的那份)或者不保存(内存这份不用直接丢弃)。在打开文件进行编辑时,如果在另外一个窗口删初打开的那个文件时不会报错并且会删除文件(但是删除的仅仅只是硬盘里的)使用ls查看当前文件夹的文件发现文件确实已经不存在,但是如果前一个打开文件编辑的窗口的文件(内存的那一份)进行保存的话,那么这份正在编辑的文件(内存的那份)就会重新出现在当前目录下面,用ls命令查看的话是可以查看的到的(重新保存出现在了硬盘里)。

                        9 :  cat   查看文件内容

                                        作用:直接在命令行下查看文件内容

                                                   cat 文件名

                        10 :rmdir    删除空文件夹

                                        作用:删除空文件夹        (文件夹内有子文件夹就不能删除文件夹)

                                                    rmdir 文件夹pathname 

                                     rmdir 和 rm -r的区别 mkdir只能删除空文件夹,而rm -r可以删除空文件夹和非空文件夹

                        11 : ln (link,连接文件)

   基础:windows中的快捷方式,实际上快捷方式和它指向的文件是两个独立的文件,两个文件都占硬盘空间,只不过访问快捷方式时,其效果等同于访问指向的文件

   linux中有两种连接文件:

                一种叫软连接(符号连接),等同于windows中快捷方式(但是本质上和它还是有区别只是效果一样)

                一种叫硬连接

创建软连接文件:

        ln -s 源文件名软连接文件名

        举例: ln -s a.c  linker.c     linker.c 就是a.c的符号连接文件

        软连接是一个单独的文件,但是里面是它连接文件的索引,软连接删除源文件后,软连接文件还在但是已经没有用了,因为它索引的那个文件已经不在了,无法访问,如果用户访问命令行会放回错误。

  硬连接:

        ln 源文件名 连接文件名

        硬连接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要还要其他的硬连接存在,那么这个文件就不会被真正删除。只有等所有的连接文件都删除掉了,这个文件才会真正的从硬盘上删除。

        

        

                           12     man     查询信息

                                        作用:查询man手册,获得帮助信息

                                        man 1    ls            (表示查看linux命令)

                                        man 2    xxx          (表示查看linux API)

                                        man 2    xxx          (表示查看c库函数)

                              13     apt-get    在线安装卸载软件

                                                作用:在ubuntu中用来在线安装、卸载软件的程序

                                                apt-get   install         vim  在线安装vim编辑器

                                                apt -get  remove      vim  在线卸载vim编辑器

                                注:安装和卸载都是在线的,那么就是说用户的ubuntu要能上网才能使用apt-get

                                说明:apt-get安装软件的原理必要性

                                linux操作系统的发行版,内核版本,定制性,造成了linux中软件的不兼容性。在linux中安装软件是一件困难的事情,装了软件能不能用是不一定的ubuntu解决了这个问题,ununtu就适合某个发行版的所有软件做了一个列表,然后用户通过apt-get  install的方式安装软件,就会实时的连接到ubuntu服务器,服务器会根据你的ubuntu版本,给你下载适合版本的软件来安装。这样确保了软件的兼容性。

三 : linux高阶命令

                             1 : find   查找文件地址

                                        作用:在linux文件系统中,查找一个文件放在哪里了

                                        find 路径 -name "文件名"

                                譬如:在/home/tu/a/ab 路径下有个ab.c的文件,但是由于时间太久忘记了具体路径在哪只记得文件名

                                

                         那么就可以用find  ./a/ -name "ab.c"  来查询文件的路径来找到文件

                                

                             2 : grep   在文本文件中查找词

                                        作用:在文本文件中查找某个符号(单词)

                                                举例:grep -nr “ab” *    在当前目录下所有文件下查找“ab”并且显示哪个文件哪行  “ab” 要查找的符号        

  注:  -n 表示查找结果中显示行号   -r表示递归查找

                           3 : which 和 whereis 查找应用程序的路径

                                        作用:查找一个应用程序(二进制文件)在哪里

                                                        举例: which ls   或  whereis ls

                                区别:

                                                which只显示二进制文件的路径

                                                whereis显示二进制文件的路径,和其源码和man手册的位置

                                        

                                                        

                        4 : uname  查看系统信息 

                                        作用:在命令行下显示系统信息

                                        uname                 显示当前系统为linux

                                        uname -a             显示详细信息

                                        uname -r              显示内核版本

                                        uname -n             网络节点名

                        5 : shutdown  -h now         立即关机

                                         作用:在命令行输入后回车会立即关机

                        6 : init  0      关机

                                        作用: 关机

                        7 : shutdown -r now           重启
                        8 : reboot                            重启
                        9 : tree                 显示文件和目录

                                作用:以树形结构从当前目录开始显示目录和文件

                        10 : mount    挂载磁盘到文件系统

                                        作用:用来挂载磁盘到文件系统中

                                                举例:mount  -t   nfs -o nolock 192.168.1.141:/root/rootfs  /mnt

                                                192.168.1.141:/root/rootfs  服务器目录

                                                 /mnt 当前本地目录

                                                将服务器目录挂载到当前本地目录,cd访问 当前本地目录服务器目录里有什么,本地目录也有                  

                       11 : umount   卸载挂载的磁盘

                                        作用:用来卸载挂载到磁盘的文件系统

                                        举例: umount  /mnt 卸载

                        12 : df -h  显示已挂载的分区列表

                            

                        13 : du -f   列出文件或者文件夹的大小

                                        作用:列出文件有多大,列出的方式是以人好看懂的方式,不像ls -l都是以字节为单位。

                                      举例 :du -f  文件pathname 

                        14 : useradd     添加用户

                                 举例:useradd 用户名

                                            作用 :添加一个用户,譬如useradd user1,就是添加一个名为user1的用户

                        15 : userdel         删除用户

                                 举例:userdel 用户名

                                                作用 : 删除一个用户,譬如userdel user1,就是删除一个名为user1的用户

                        16 : passwd          给用户设置密码

                                举例: passwd 用户名

                                       作用 : 给用户设置密码

                        17 : chmod             更改文件权限 

                        属主为u   属主所在的组用户为g  其他用户为o

                        第一种:

                                举例 : 譬如 drwxr-xr-x 文件编码权限为755,但是要更改文件权限为rwxr--r-- 

                                则修改命令为   chmod 744 文件名

                        第二种 : 

                                举例 :

                     属主所在的组权限添加可写权限:chmod u+w  文件名

                     其他用户添加可读权限              : chmod o+r   文件名

                     属主添加可执行权限                 : chmod u+x   文件名

                     属主去除可执行权限                 : chmod u-x    文件名   

  总结 : 修改权限其实都是类似的 都是 chmod u+x 文件名(u是属主、也可以是g属主所在组的用户,还可以是o其他用户,不光可以添加也可以去除,将+ 变成 - 即可),主要是要搞清楚要修改的是哪个用户对此文件的权限,是属主就用u,属主在的组就用g,其他用户就用o。如果是删除就是-而不是+。最后加上要修改文件的文件名即可。

                     18 : chown (修改文件属主)         

                                chown  用户名  文件名     

                     19 : chgrp     (修改文件所在的组)            

                                chgrp    组名      文件名                

                                                       
                     20 : 文件打包压缩与解压缩

                

                                tar -czvf  dir.tar.gz   dir/          将dir目录打包成dir.tar.gz

                                tar -cjvf   dir.tar.bz2 dir/          将目录敌人打包成dir.tar.bz2

                                 

                                tar -zxvf  dir.tar.gz                  解压缩dir.tar.gz 

                                tar -jxvf   dir.tar.bz2                解压缩dir.tar.bz2   

                  21 : 网络配置命令

                            ifconfig eth0 192.168.1.13        设置1P地址

                            ifconfig eth0 up                         启动网卡

                            ifconfig eth0 down                    禁用网卡

                            ifup eth0                                   启动网卡

                            ifdown eth0                              禁用网卡

                            ifconfig eth0 192.168.1.1 netmask 255.255.255.0 同时设置IP和子网掩码

                22 : 格式化文件系统

                           mkfs       /dex/hd1

                           mkfs -t yfat 32 -F /dey/hd1       创建一个FAT32文件系统

四: 补充基础知识:

        1:ls -l 显示的详细信息中:

                -rw-r--r--

                drwxr-xr-x

                lrwxrwxrwx

        一共十个字符,第一个字符表示文件类型,后面九个字符表示文件权限。

        文件类型:

                -   表示普通文件。 普通文件指文本文件和二进制文件。 如:a.c、a.txt、a.out都是普通文件

                d  表示文件夹(目录) d是directory的缩写

                l   表示符号连接文件(硬连接是普通文件) 后面会用->打印出它指向的文件

                s   表示socket文件

                p  表示管道文件 pipe

                

                

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值