热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux学习基础第一部分

1.什么是Linux?Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作系统。它能运行主要的UNIX
1.什么是Linux?

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

2.什么是Shell?

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

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

3.Linux的运行在行提示符后运行
[kiosk@foundation0 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=)

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

![](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=)

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

    ![](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会进入插入模式,
如果要粘贴需要按退出插入模式然后粘贴

 ![](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

技术分享图片

技术分享图片

5)按批量添加结束

技术分享图片

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文件

技术分享图片

技术分享图片

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

输入/关键字 ##高亮显示关键字,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 学习基础---第一部分


推荐阅读
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 本文介绍如何在应用程序中使用文本输入框创建密码输入框,并通过设置掩码来隐藏用户输入的内容。我们将详细解释代码实现,并提供专业的补充说明。 ... [详细]
author-avatar
自娱自乐GoGo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有