Linux系统基础-使用与常用命令介绍

 注:作者本人更喜欢图形界面,所以使用了虚拟机安装ubuntu,实现了双系统开发。

一,linux系统和虚拟机

市面主流的操作系统  windows  安卓  IOS   linux系统
         Linux系统的应用范围:服务器 
                              嵌入式智能终端
         linux系统有很多不同的发行版本,其中比较出名有:ubuntu(乌邦图) redhat(红帽)
         虚拟机:用软件来模拟真实的电脑
                 Linux系统可以在虚拟机上运行
                 虚拟机可以作为linux系统运行的平台
         (1)安装步骤
                 第一步:安装虚拟机wmware workstation这个软件
                 第二步:获取ubuntu系统                //去官网下载,如:ubuntu-22.04.3-desktop-amd64.iso
                 第三步:在虚拟机上安装ubuntu系统

二,linux系统的使用

1.打开终端
          方法1: 右键点击ubuntu的桌面选择open terminal/在终端中打开         //系统版本不同可能会不一样,但大致相同
          方法2: 同时按下  ctrl+alt+t


   2.基础介绍
         家目录:linux系统支持多用户,我们可以新建多个不同的用户去登录linux系统
                 linux系统为了区分不同的用户,给每个用户新建一个文件夹,文件夹的名字跟用户名是一样的
                 我们把这个特殊的文件夹成为这个用户的家目录
           比如:我现在新建一个用户,叫做zhangsan --》linux系统会自动帮你新建一个文件夹,也叫做zhangsan
                 我现在新建一个用户,叫做lisi --》linux系统会自动帮你新建一个文件夹,也叫做lisi
                 这些文件夹全部都在/home这个目录下新建的
         (1)命令终端提示符
               gec@ubuntu:~$    
                    gec --》当前用户的名字  
                    ubuntu --》当前系统的名字
                    ~ --》表示当前用户的家目录  ~等价于  /home/gec
                    $ --》表示当前用户是个普通用户

         (2)windows路径和linux路径写法的不同
                    windows路径:分为不同的磁盘分区  C  D  E
                                 C:\Users\Administrator\Desktop 
                    linux路径:没有磁盘分区(根本没有CDE盘这个说法)
                               linux只有一个根目录,根目录用 /表示
                               linux中所有的文件/文件夹都是从根目录往下存储的

          (3)创建linux和window的共享
                    为什么要创建共享:代码在windows上写好的,需要在linux上编译
                    如何创建共享?
                          第一步:在window上新建一个文件夹作为共享文件夹
                          第二步:点击虚拟机,选择设置--》在弹出的对话框中点击选项,共享文件夹总是启用--》点击添加,添加你第一步新建的那个共享文件夹,确认保存退出(见截图)
                    如何进入共享文件夹?
                          cd /mnt/hgfs/xxx   //xxx是你新建的共享文件夹的名字
                    注意:如果你创建不了共享文件,可以考虑关闭linux系统,然后重新右键管理员的身份运行

         (4)查看字符的ASCII码值
                    man ASCII

         (5)查看linux中的帮助手册
                   man man
                   1   Executable programs or  shell  commands   //shell命令  
                                     man 1 ls 
                   2   System calls (functions provided by  the kernel) //linux系统内核提供的函数
                        
                   3   Library  calls  (functions within program libraries) //C语言的库函数
                                     man 3 printf 
                                     man 3 scanf

    3.常用命令

(1)新建或者打开文件
         vim  文件名
         touch  文件名  //只能新建文件,不能打开文件
         gedit  文件名  //跟记事本差不多
   (2)删除文件或者文件夹
         rm  文件名
         rm  文件夹名字    -rf  (r表示递归,f表示强制)
   (3)新建文件夹
         mkdir  目录名
   (4)切换目录
         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   .newdir                 
               ls   -l       //列表的形式列举文件,不包括隐藏文件
                          -rwxrwxrwx 1 root root     67 Feb 23 19:23 hello.c   
                                         linux中一切都是文件
                                                 记事本是个文件
                                                 键盘是个文件 --》键盘驱动文件
                                                 触摸屏是个文件 --》触摸屏驱动文件
                                                 液晶屏也是个文件 --》液晶屏驱动文件
                                         linux中有七种类型的文件:
                                                  目录:   d
                                                  普通文件:-
                                                  字符设备:c   
                                                  块设备:b     
                                                  套接字:s    
                                                  软链接文件:  l       
                                                  管道文件: p     
                                         第一个字符:  d  --》目录
                                                       -  --》普通文件
                                         第二个开始的字符:  表示可读,可写,可执行的权限
                                                             分为三组:分别表示当前用户,同组用户,其它用户对于这个文件的操作权限
                                                                              r  --》可读    w --》可写  x --》可执行        
   (6)echo命令
     标准输入 --》默认指的是键盘
     标准输出 --》默认指的是电脑的液晶屏
     标准错误输出 --》默认指的是电脑的液晶屏
     在屏幕(标准输出)上输出数据   
          echo  "hello"
          echo   567
   (7)切换超级用户
          用途: 当你想要修改根目录下的文件夹里面的内容
                 普通用户只能在自己的家目录或者共享文件夹中随意删除,修改文件
                 如果你想要在根目录下,或者根目录的其它文件夹中修改,删除文件,就必须使用超级用户的权限
          临时借用超级用户的权限
                 sudo   命令的完整写法
                  sudo   vim   hello.c      //临时借用超级用户的权限创建hello.c
                  sudo   rm    hello.c   //临时借用超级用户的权限删除hello.c
          永久切换超级用户
                  sudo   -s
          切换回普通用户
                  su   普通用户的名字
   (8)剪切文件或者目录
         mv   文件名   目标路径
         比如: mv  hello  /mnt/hgfs/share    //当前路径下的hello剪切到共享
     重命名文件
         mv  hello.c   hehe.c    //给hello.c更换名字为hehe.c
     区分剪切和重命名
         主要看后面你写的是合法的路径名(剪切)还是文件名(重命名)
   (9)修改权限
         chmod  777  文件的名字
         chmod  777  目录的名字    -R  (递归修改文件夹的权限)
               7 ---》 二进制  111(分别代表读,写,执行的权限)
         例如: chmod  777 hello.c        chmod  654  hello.c
   (10)软链接
         软链接:ln  -s  原来的名字   软链接的名字
                         类似于windows中的快捷方式
         硬链接:ln      原来的名字   硬链接的名字
              软硬链接共同点:原文件修改了,软硬链接都跟着一起修改,软硬链接文件修改了,原文件跟着修改
                              软链接和硬链接只能在纯粹的linux环境中创建(共享文件夹中无法创建软硬链接)       
                        区别:软链接依赖于原文件,硬链接不需要依赖原文件
                              硬链接的文件类型跟原来的文件一样,软链接文件类型属于链接文件
                              硬链接不能指向目录
   (11)打包和压缩文件
              linux中有两种常见格式的压缩包:
                                        .bz2结尾和gz结尾
              打包文件/文件夹:   tar   -jcf   xxx.tar.bz2    文件名1   文件名2   ........
                                               例如:  tar    -jcf    66.tar.bz2    1.jpg  2.mp3   3.txt  
                                  tar   -zcf   xxx.tar.gz      文件名1   文件名2   ......
                                               例如:  tar    -zcf    66.tar.gz    1.jpg  2.mp3   3.txt                                    
              查看压缩包里面的内容:
                                              tar  -tf   压缩包的名字
              解压:
                                              tar  -jxf  66.tar.bz2    //默认解压到当前路径
                                              tar  -zxf  66.tar.gz     //默认解压到当前路径
              解压到指定的位置:
                                              tar  -jxf  66.tar.bz2    -C   你要指定的路径   
                                              tar  -zxf  66.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 正确,跟非英文字符混合一起也行
                                                    ("printf")  正确,跟非英文字符混合一起也行     
   (13)查看文件
                       cat  文件名   //查看整个文件内容
                       head
                                         head 1.txt  -n 2   //查看1.txt的前面2行
                       tail  
                                         tail 1.txt  -n  2  //查看1.txt的最后2行                               
   (14)清屏
          clear 
   (15)ps  top命令
           查看当前系统中进程的运行状态
                ps   -elf
           动态查看进程的状态信息
                top
   (16)拷贝文件/目录
             cp   文件名    目标路径 
             cp   目录名    目标路径    -rf   (r递归  f强制)
   (17)给命令取别名
             注意: 取别名不能跟系统中原本的命令冲突
             alias   c='clear'    //表示我给clear命令换个名字,叫做c
      取消别名
             unalias  c   //取消刚才取的别名c
   (18)查询shell命令的路径
             which  shell命令的名字
                                which   ls  --》/bin/ls
                                which   find --》/usr/bin/find
   (19)重启ubuntu
          reboot
   (20)查看或者修改ubuntu的ip地址
         查看ip地址    ifconfig    //   ens33是ubuntu虚拟网卡的名字  
         修改ip地址    sudo ifconfig ens33  你要修改的ip地址
   (21)重定向和追加重定向      
         重定向:重新确定方向      >    会覆盖原来的内容
                ls   >  1.txt    //把ls的输出重定向到1.txt
                echo  "hello"  >  2.txt
         追加重定向:  >>    在末尾追加,不会覆盖文件中原本的内容
   (22)查看文件大小
         du  文件名  -b  
         目录的大小:它里面所有文件和文件夹大小的总和
         ls   -l 查看普通文件大小是正确的,但是目录就不对(全部都是4096字节)
   (23)目录树
         tree   目录名
   (24)比较文件或者目录
         diff  1.c   2.c   -s   //比较两个1.c,2.c文件,内容一样就打印提示
         diff  目录1 目录2 -r   //递归比较两个目录
   (25)查看当前路径名
         pwd
   (26)添加/删除用户,密码
        添加用户:sudo adduser 用户名
                  弹出提示让你输入密码,输入个人信息(随便乱输入)
    修改密码:sudo passwd 用户名
                 弹出提示让你输入新密码
    删除用户:sudo userdel -rf 用户名  //连同家目录一起删除
   (27)安装man手册
        sudo apt-get install manpages-posix manpages-dev manpages    (manual手册安装)
   (28)查看环境变量
        env
      其中有个重要的环境变量,叫做PATH
      PATH是linux中可执行程序的环境变量,只要你把程序放在PATH指定的路径下,都可以直接输入程序名字运行程序
      输出环境变量
             echo  $PATH
      设置环境变量
             export PATH=新的路径:$PATH
   (29)按屏显示文本文件
        more 文件名
        按Enter键为一行一行显示,按空格键为一屏一屏显示
        按q退出显示
      另外一个按屏显示文件的命令
        less 文件名
        可以用上下键翻阅
       
            

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值