Linux 学习基础---第一部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 学习基础---第一部分相关的知识,希望对你有一定的参考价值。

1.什么是Linux?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作系统。它能运行主要的UNIX工作软件,应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

2.什么是Shell?

在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的commang.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
中文名: 壳
外文名: Shell
性质 : 命令解析器
用途 : 接受用户命令

术语
它同时又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设计好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

3.Linux的运行在行提示符后运行
[[email protected] Desktop]$ (行提示符)
含义:
kiosk : 用户
@ : 分隔符
foundaton0 : 主机短名称
Desktop : 所在系统位置
$ : 用户身份,$为普通用户(草民),#为超级用户(天子)。

4.虚拟机管理命令:
rht-vmctl start desktop /server 开启
rht-vmctl poweroff desktop / server 关闭
rht-vmctl view desktop / server 显示
rht-vmctl reset desktop / server 重置

开启后,进行显示

技术分享图片

虚拟机登陆:

1.普通用户登陆

技术分享图片

点击 Student User即可,然后进行password密码输入;

2.为方便操作,则将其改为超级用户

(1)点击 Not listed?

(2)在Username中输入root(超级用户)

![](http://i2.51cto.com/images/blog/201808/02/7090ec5038e1d2ab764d004a92e5251d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(3)登陆password,输入内容分为页面正下方图标后Redhat

技术分享图片

即可进入虚拟机

技术分享图片

5.Linux系统结构

(1)Linux系统是个倒树型系统;

(2)二级目录的作用:

 /bin                   #二进制文件,系统的常规命令(如data...)
 /boot                 #系统启动分区,系统启动时读取的文件
 /dev                  #设备文件
 /etc                   #大多数配置文件
 /home              #普通用户的家目录
 /lib                    #32位函数库
 /lib64               #64位函数库
 /media             #手动临时挂载点  (linux为用户准备了两个手动临时挂载点)
 /mnt                 #手动临时挂载点
 /opt                      #第三方软件安装位置

/proc #进程信息及硬件信息
/root #超级用户家目录
/run #临时设备的默认挂载点(例如u盘如果没有手动安排挂载点,就在这个目录下 run/media/sdb1)
/sbin #系统管理命令
/srv #数据
/var #数据
/sys #内核相关信息
/tmp #临时文件
/usr #用户相关设定

6.Linux下的文件管理

(1)建立文件

  touch file                        #建立空文件,或修改文件的时间戳

    ![](http://i2.51cto.com/images/blog/201808/02/9ec03df29cfa06de4c69a61d3e5695ca.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  touch file1 file2

    ![](http://i2.51cto.com/images/blog/201808/02/0344a36fd07e2302086ffb369466eb1f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(2)建立目录

  mkdir                          #建立单目录

![](http://i2.51cto.com/images/blog/201808/02/cfdfeb6e9753a5d0b15e83f49f9151e2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        mkdir -p                     #建立多层目录

![](http://i2.51cto.com/images/blog/201808/02/14617492428a1db14e84be2820111bd9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(3)文件的删除

  rm -f file(file为删除的文件名)强行删除文件file        (如果不加-f会提示是否删除)

        注释:

-f -r -r -f -rf -fr 作用相同都为删除本目录下以及内部内容且不提示
-f:提示 -r:递归

    ![](http://i2.51cto.com/images/blog/201808/02/a1c3caa2e95420022c7e55a8efadc9af.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        rm -fr dir (dir为删除的目录名)强行删除目录本身及里面内容

    ![](http://i2.51cto.com/images/blog/201808/02/0d5a0cee1bcd8ad67704f7252b651559.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(4)文件的编辑

  vim file
  进入文件后是浏览模式,不能编辑

        ![](http://i2.51cto.com/images/blog/201808/02/e8d2995a409e5799b658f36247f71040.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  输入<i> 进入插入模式写字符(此时左下方显示INSERT,<i>是指键i小写,下面<esc>相同)

![](http://i2.51cto.com/images/blog/201808/02/7b9e923fca109d73fd2d7073016fbc51.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  编写完成后按<ESC>退出插入模式

    ![](http://i2.51cto.com/images/blog/201808/02/12b1af6266115ccde32f851300d12027.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  输入:wq 完成文件编辑。w表示写入,q退出

    ![](http://i2.51cto.com/images/blog/201808/02/2c7b59d7255a447692bbfd71a6e1ef54.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

 点击文件查看

    ![](http://i2.51cto.com/images/blog/201808/02/99ee596287aecd04e0dc67e1e381074b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

7.Vim的使用技巧

在浏览模式

(1)字符大管理
yy #复制一整行
yl #复制一个字母
yw #复制一个单词
p #粘贴

dd #删除一整行
dl #删除一个字母
dw #删除一个单词

cc #剪掉整行
cl #剪掉一个字母
cw #剪掉一个单词
注意:
当剪切后vim会进入插入模式,
如果要粘贴需要按<esc>退出插入模式然后粘贴

 ![](http://i2.51cto.com/images/blog/201808/02/01a9f94944d6f17cab20a432f9c366b2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

 ![](http://i2.51cto.com/images/blog/201808/02/e79cfa693b0dd052ddb23005355e051e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

 ![](http://i2.51cto.com/images/blog/201808/02/0f0f359c6036aebcc6b6adee84129d06.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

u ##撤销
ctrl+r ##恢复

(2)字符的批量处理
ctrl + v ##进入可视化模式,在可视化模式中可以批量选择字符并操作

如何批量添加字符
1)把光标移动到要加入字符所在列

技术分享图片

2)ctrl + v 进入可视化模式

技术分享图片

3)选中要加字符所在列(用方向键上下选中即灰色)

技术分享图片

4)按<I>进入插入模式并写入要加入的字符,<I>此处的i为大写I

技术分享图片

技术分享图片

5)按<ESC>批量添加结束

技术分享图片

6)如何批量修改
:%s/原有字符/修改后字符/g

技术分享图片

技术分享图片

:1,5s/原有字符/修改后字符/g (1,5)代表一到五行改变

技术分享图片

技术分享图片

这里s代表行,g代表列,如果不加g,则改变的信息只有每行第一次出现的列改变;

技术分享图片

技术分享图片

(3) 如何同时编辑多个文件
vim file
:sp file1

技术分享图片

技术分享图片

注意:
光标默认在那个文件中操作的就是那个文件
ctrl+w 按完放开在按上|下可以移动光标所在窗口

![](http://i2.51cto.com/images/blog/201808/02/44b20c478186a2fd521f5b507d8511e2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(4)正常退出方法

     正常退出方法
  :q    ##当文件没有做任何修改是可用
  :q!   ##当文件修改但不行保存修改时可用

        ![](http://i2.51cto.com/images/blog/201808/02/63ca3e9e8fa0058d7fd1c29d4e009520.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        打开修改的文件

        ![](http://i2.51cto.com/images/blog/201808/02/e800358ecb7244bd4fe681377b0a32a2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  :wq   ##退出保存

        ![](http://i2.51cto.com/images/blog/201808/02/2c65bbb80acc890247084a0d8adb7112.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        打开修改的文件

        ![](http://i2.51cto.com/images/blog/201808/02/af32d39049eb8099735c26be8219f75d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  :wq!  ##当文件属于自己或用户为root时可用

(6)异常退出 

    当没有正常退出,而是直接点击有上角叉号时,会出现异常退出的情况
    当vim非正常退出会产生.filename.swap文件

    当此文件出现,vim工作异常

Found a swap file by the name ".file.swp" <<<异常退出未保存的数据
owned by: root dated: Wed Aug 1 02:59:25 2018
me: ~root/Desktop/file
modified: YES
user name: root host name: localhost
process ID: 2046
h swap file by the name ".file.swp"
owned by: root dated: Wed Aug 1 02:59:25 2018
ile opening file "file"

Swap file ".file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

解决办法:选择选项即可
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

[O]pen Read-Only 只读打开
(E)dit anyway 放弃未保存数据 进入文件
(R)ecover 恢复
(D)elete it 删除.swp文件
(Q)uit (A)bort 退出

8.文件查看
cat file ##输出文件的所有内容

技术分享图片

技术分享图片

cat -b file ##输出文件所有内容并加入行号,只是在显示页面会添加序号,不会修改原文件

技术分享图片

cat -b file > file1 ##把file文件中的数据添加行号并复制给file1新文件

技术分享图片

less file ##分页浏览file文件

技术分享图片

技术分享图片

<上>|<下> ##向上|向下移动一行
<pgup>|<pgdn> ##向上|向下移动一页

输入/关键字 ##高亮显示关键字,n向下匹配N向上匹配

q ##退出

tail file ##显示文件file的后十行(默认)
tail -n file ##显示文件file的后n行

技术分享图片

head file ##显示文件file的前十行(默认)
head -n file ##显示文件file的前n行

技术分享图片

9.文件复制
cp sourcefile destfile ##把原文件复制一份命名为目标文件

技术分享图片

此时的桌面

技术分享图片

cp sourcefile1 sourcefile2 destdir/ ##复制多个文件到目录中
首先mkdir创建目录!!!!

技术分享图片

技术分享图片

cp -r sourcedir destdir/ ##复制原目录及内部的文件到目标目录(此处使用了-r,若不加,只能进行空目录的复制)

技术分享图片

技术分享图片

10.文件的移动
注释:
若将file文件移动到当前目录下file1的话,则为重命名
mv sourcefile destfile ##重名命

file的内容!
技术分享图片

file1的内容!

技术分享图片

移动后输出y表示yes

技术分享图片

技术分享图片

最后file1的内容

技术分享图片

mv sourcefile destdir ##移动原文件到destdir目录
!!先用mkdir创建目录

技术分享图片

mv sourcedir destdir ##移动原目录到destdir目录

技术分享图片

技术分享图片

技术分享图片

技术分享图片

mv test/ . ##将当前test目录下的所有文件移动到当面目录下(当前目录为desktop)"."代表当前目录,代表所有;

技术分享图片

技术分享图片

技术分享图片

11.文件路径
(1)相对路径
文件相对当前系统位置的一个名称简写
文件名称省略了当前路径的值 #例:desktop/hello/file
只有当前在此目录中时可以使用
文件名称不以/开头
文件名称会自动在字符前加入‘pwd‘显示的路径 #在shell中输入pwd会显示当前所在目录的绝对 路径

技术分享图片

(2)绝对路径
是文件在系统中真实的位置
任何时间都可以精确表示一个文件的名称 #例:/root/Desktop
文件名称以/开头

12.关于路径的命令
pwd ##显示当前工作目录

技术分享图片

cd ##切换当前工作家目录

技术分享图片

cd /mnt ##切换到/mnt目录中

技术分享图片

cd - ##进入当前目录之前所在目录中

技术分享图片

cd ~student ##进入到student用户家目录

技术分享图片

以上是关于Linux 学习基础---第一部分的主要内容,如果未能解决你的问题,请参考以下文章

鸟哥的Linux私房菜基础学习篇(第四版)

鸟哥的linux私房菜:基础学习篇 (第四版)pdf文字版 30MB完整高清版下载

零基础学习WEB前端开发:HTML第一部分基础知识的综合案例

<Test-Driven Development with Python;学习笔记 第一部分 测试驱动开发基础

<Test-Driven Development with Python;学习笔记 第一部分 测试驱动开发基础

1.学习大纲