Linux基础

开源协议:开源协议规定了在使用开源软件的权利和义务,虽然开源协议没有法律效力,但是涉及软件版权纠纷时,开源协议是很重要的证据
1、GNU GPL(GNU General Public License,GNU通用公共许可证)
LinuxGNU开源协议
只要软件中包含了遵循GPL协议的产品和代码,该软件就必须遵循GPL许可协议,也就是开源免费GPL开源协议的主要特点:复制自由、传播自由、收费传播、修改自由
复制自由:允许把软件复制到任何人的电脑中,并且不复制复制的数量
传播自由:允许软件以各种形式进行传播
收费传播:允许在各种媒介上出售软件,但前提示必须让买家知道该软件是可以免费获取的
修改软件:允许开发人员增加或删除软件的功能,但是软件修改后必须遵循GPL许可协议授权
2、GUN LGPL(GNU Lesser General Public License,GNU 宽通用公共许可证)
LGPL 是 GPL 的一个衍生版本,也被称为 GPL V2,该协议主要是为类库设计的开源协议
LGPL 允许商业软件通过类库引用(link)的方式使用 LGPL 类库,而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售
作业:
1、ls -l /etc/ | > /tmp/file1 需要将 ls -l /etc 的输出内容导入到 /tmp/file1中,为什么加了一个管道符 /tmp/file1不会写入任何内容。 ls -l /etc/ | cat > /tmp/file1 就可以将内容写入
答:管道符不能与重定向一起使用,作用是将前一个命令的输出作为后一个命令的输入,而重定向则是将命令的输出保存到文件中。由于管道和重定向的功能不同,它们不能同时使用。

2、ls -l /etc/ 的输出内容,我希望同时写入到/tmp/file1和/tmp/file2,那该怎么操作? 
答:ls -l /etc/ > /tmp/file1 | cat> /tmp/file2

一、Linux初识

1.1 Linux shell  

       Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。

       shell也被称为LINUX的命令解释器(command interpreter),Shell 本身是一个程序。

1.2 Linux命令行及命令提示符  

       在LInux系统中,命令提示符有两种:#------root用户提示符

                                                                 $ ------普通用户提示符

1.3 系统的初识

1.3.1 命令的语法结构 

      # command    [-option]    parameter1   parameter2 ..
             命令            选项          参数1           参数2 

上述命令详解如下:
1、一行命令中,第一个输入的部分绝对是命令 或者可以执行的文件
2、command是命令的名称
3、[-option]中并不一定存在,当要加入选项时,通常情况下会带-号有的会带--,作用是影响命令          的执行结果 -:短选项    --:长选项
4、parameter1 parameter2 ..是选项后面的参数,或者是命令的作用对象
5、命令、选项、参数之间是以空格来区分的,不论几个空格都视为一个,所以空格是很重要的提        示符,初学者容易忽略。
6、当写完整个命令后,敲回车键执行命令

1.3.2 初始文件系统     

1、一切皆文件(Linux哲学思想):
把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;open(), read(), write(), close(), delete(), create()
2、文件系统:层级结构;有索引;
                      /: 原初起点;
                      倒置树状结构;
     /etc/issue:
                     第一个/:根目录
                     其余的:路径的分隔符
    文件的路径表示:
                     绝对路径:从根开始表示出的路径
                     相对路径:从当前位置开始表示出的路

1.4命令的帮助 

1.4.1 命令的分类   

内部命令与外部命令:  
      用type来判断到底为内部命令还是内部命令:有“/”为外部命令,没有“/”为内部命令

1.4.2 获取帮助的途径  

  1. --help 或 -h
  2. man
  3. info
  4. /usr/share/doc/
  5. Red Hat documentation 、Ubuntu documentation
  6. Shell命令手册
  7. 软件项目网站
  8. 其它网站
  9. 搜索引擎搜索
  10. chatGp
2.1查看命令的帮助  

内部命令:help COMMAND
                  man COMMAND
外部命令和软件:COMMAND –help 或 COMMAND -h
                            使用手册(manual) -------man COMMAND
                            信息页-------info COMMAND

2.2 –-help 或 -h 选项

显示用法总结和参数列表,大多数命令使用,但并非所有的  

2.3 man 命令    

 man 提供命令帮助的文件,手册页存放在/usr/share/man

2.4 info  

格式:info 命令字 按q退出
一般用help ,--help,足够man来补充,info用的很少  

2.5 格式说明   
  1. [ ] 表示可选项
  2. x |y| z 的意思是“ x 或 y 或 z ”
  3. ... 表示一个列表
  4. <>必选内容
  5. {}分组    

1.5 基础常见命令  

1.5.1 关机和重启   

关机:
        halt
        power  off
        init 0
重启:
        reboot
        -f: 强制,不调用shutdown
        -p: 切断电源
关机或重启:shutdown  

1.5.2 文件系列命令  

vi/vim:
三种模式:命令模式、编辑模式(输入模式)、末行模式 
输入模式:i ao
命令模式:光标移动:方向键
                  光标跳转:
                                G:跳到最后一行
                               gg:跳到首行
                              1G:移动到这个档案的第一行
末行模式:
                   w:保存
                   q:退出
                 wq:保存退出
                  q!:强制退出
                 wq!  ?string      /string 
模式转换:

1.5.3 文件查看命令   

cat:由第一行开始显示全部文件内容(小文件)
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
less:是从文件开头开始加载,一页一页的翻页(大文件)
运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :从上向下搜寻『字串』的功能,这块和vim一致
?字串 :从下向上搜寻『字串』的功能,这块和vim也基本一致
q :离开 less 这个程序;

1.6 Linux shell特性  

1.6.1 Linux bash基础特性之一:补全  

命令补全:
       
shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;查找内部命令;
       根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;
       给定的打头字符串如果能惟一标识某命令程序文件,则直接补全;
       不能惟一标识某命令程序文件,再击tab键一次,会给出列表;
路径补全:
       
和命令机制不一样在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件:
tab:如果能惟一标识,则直接补全;否则,再一次tab,给出列表; 

1.6.2 Linux bash 基础特性之二:快捷键  

  1. Ctrl+l:清屏
  2. Ctrl+c:终止前台运行的程序
  3. Ctrl+d:退出
  4. Ctrl+a:将光标移动到最前端
  5. Ctrl+e:将光标移动到最后端
  6. Ctrl+k:删除光标之后的内容
  7. Ctrl+u:删除光标之前的内容    

1.6.3 LInux bash 基础特性之三:命令历史  

命令历史(history):shell进程会在其会话中保存此前用户提交执行过的命令;
 

 1.6.4 Linux bash 基础特性之四:命令别名

1.6.5 Linux bash基础特性之五:输出重定向

Linux命令提供了三种I/O设备(终端窗口):标准输入(stdin------0)、标准输出(stdout------1)、标准错误输出(stderr------2)
标准输出重定向:1>    >覆盖 >> 追加

错误输出重定向:2>
混合输出:&>     
                  2>&1

1.6.6 Linux bash 基础特性之六:管道

       在Linux系统中,管道符号为|,在shell中,|管道一般用来将上一个程序的输出,导入到下一个程序的输入。(管道 |,就充当两个程序之间,输出、输入交换的桥梁。)

相关推荐

  1. Linux基础

    2024-04-01 20:24:01       16 阅读
  2. linux基础

    2024-04-01 20:24:01       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 20:24:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 20:24:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 20:24:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 20:24:01       18 阅读

热门阅读

  1. 利用ChatGPT打造精彩的学术论文写作体验

    2024-04-01 20:24:01       18 阅读
  2. 通过多选按钮选择需要修改什么字段

    2024-04-01 20:24:01       17 阅读
  3. Qt:常见的exec()函数

    2024-04-01 20:24:01       14 阅读
  4. React组件异常捕获的解决思路

    2024-04-01 20:24:01       18 阅读
  5. HTML元信息

    2024-04-01 20:24:01       18 阅读
  6. 配置一个nginx的server, 提供获取ip的服务

    2024-04-01 20:24:01       16 阅读
  7. 标题:AI大模型学习:解放智能的未来之路

    2024-04-01 20:24:01       17 阅读
  8. 深入探秘Python生成器:揭开神秘的面纱

    2024-04-01 20:24:01       14 阅读