找回密码
 立即注册
Qt开源社区 门户 查看内容

Linux入门学习笔记

2019-10-12 13:00| 发布者: admin| 查看: 376| 评论: 0

摘要: 自16年以来,好像从来没有专一的做过自己喜欢的事情,一直将自己交给命运,觉得自己好像分配什么任务都可以完成,一个自动化专业的本科生,不去专攻控制领域,而是接受了导师分配的机械课题(分明自己的内心当时是想 ...
自16年以来,好像从来没有专一的做过自己喜欢的事情,一直将自己交给命运,觉得自己好像分配什么任务都可以完成,一个自动化专业的本科生,不去专攻控制领域,而是接受了导师分配的机械课题(分明自己的内心当时是想选光电控制的那个课题,却想着机械自学一下毕业也没什么的,都是学习,没有和导师沟通);喜欢学习计算机,喜欢码代码,自学搞定软件开发岗面试的自己,却被分到了测试岗(明明更希望做开发,却想着自己应该可以做好测试,没有和HR沟通),一次次地在痛苦中挣扎前行。

这次我要掌控自己的命运,做自己喜欢的事情,后面将会分享一些自己的学习笔记,希望能帮助到想和我一样入门进阶的小白,互相帮助,一起加油吧~

遇到一个工作数年的乙方,来公司技术服务的时候,偶尔聊天跟我说:“一个合格的开发至少要有两年测试的经历,一个合格的测试至少要有两年开发的经历”,我觉得很有道理,那我就从两年测试经历开始,逐步实现自己的开发梦吧!不知道从哪里开始,就慢慢接触了解深入吧,说不定某一天会有个明确的喜欢研究的方向。

第一篇是这一个月利用下班时间学习整理的Linux基础(9.10—10.10)

操作系统这个东西,名字很神秘很高深,我其实就把它当做一个软件来学了,无非给它些指令,它再给我反馈些我想要的效果,小白开始学习的内容无非就是在windows下常干些啥,学下用Linux怎么操作就可以了吧(打游戏请绕过,我不打游戏)。

1、初识Linux

桌面版的Linux操作起来应该和Windows差不多,所以重点放在命令行截面,黑漆漆的截面有种黑客感觉,装逼必备~

下载路径在https://www.linux.org/pages/download/很多版本可以下载使用;下载完成之后我是安装到虚拟机VMware里了(毕竟不太了解以及不太常用的时候还是不要把它当主机操作系统了,主要是没钱买台新电脑),安装完进入就是下图的样子啦。


             

这个时候要想进入就要输入自己安装时给root用户名设置的密码了,注意:Linux中输入密码是没有任何显示的(不要以为自己的系统坏掉了),像下图这样输完敲回车就进去啦。



进去之后我们总要知道自己在哪里以及要去哪里,可以执行什么操作。这些操作一般格式是:命令[-选项]([]表示可选项,可有可无,根据自己的需求调整),记住Linux中万物皆文件,所以先来看看文件相关操作。

2、文件相关操作

  • 显示当前所在位置:pwb

用户进入会在自己的家目录下(可以理解为在自己的家里)




  • 显示当前位置下都有哪些文件:ls





ls -alh

选项意义:

列出全部(l)文件的详细信息(不包括隐藏文件)



以占有空间大小友好(h)的方式显示



列出全部文件包括隐藏文件(a)



【隐藏文件是以.开头命名的文件】


  • 创建文件:touch

touch 文件名




  • 创建目录:mkdir

创建单层目录:mkdir 目录名

创建多层目录(递归创建):mkdir -p 多层目录名(多层目录分隔符用/)




  • 目录间切换:cd

cd 路径名

.表示当前路径

..表示上一级目录路径

-表示在上一次与本次目录之间切换




  • 删除文件或目录:rm

rm 文件名

不带询问的删除文件(强制删除文件):rm –f 文件

删除目录:rm -r 目录

强制删除目录:rm -rf 目录



【更新到ubuntu18.04后发现不需要加-f选项啦】


  • 复制文件或目录:cp

cp 源文件 目标文件/目标地址路径

cp -i 【会询问是否覆盖同名文件】

cp -r 源文件 目标文件/目标地址路径(复制目录)








  • 剪切(移动文件或目录):mv

mv 源文件同路径目标文件(如果源文件与目标文件为同一路径则为重命名)



–i 同名覆盖提醒




  • 打印文本:echo

echo 文本(一般和重定向一起使用,将内容打印到文件中,没有文件的话直接创建文件)




  • 重定向:>

>文件名(覆盖文件内容);

>>文件名(追加文件内容)

echo 文本 > 文件名;




  • 查看文件内容:cat、more

cat 文件名(一下子全部显示出来)

cat –n 文件名(显示行号包含空行)

cat –b 文件名(显示行号去除空行)

Ubuntu18.04中-n和-b效果一样





more 文件名(分屏显示内容)





对该文件显示的操作:

空格/b回滚一屏;

f前滚一屏;

q退出;

/word搜索word

Enter下一行


  • 搜索指定文本:grep

grep 文本(加双引号哦)文件名



-n显示包含该文本的行及行号;



-v显示不包含该文本的行;



-i忽略大小写;




  • 模式查找(正则表达式):

^字符查找以字符开头的行



字符$显示以字符结尾的行(字符要加双引号,否则会停不下来,终止命令用Ctrl+C)




  • 管道:|

将一个命令的输出作为另一个命令的输入,一般用于more/grep

如ls –alh |more 分屏显示ls的结果

ls –alh | grep a 只显示ls结果中包含a的行




  • 通配符:

*匹配任意个数的任意字符

?匹配单个字符




  • 关机

shutdown 关机

shutdown –r 时间多长时间后关机

shutdown –c取消关机

一般直接关机用shutdown–h now


  • 查看网卡信息ifconfig

ifconfig | grep internt

ping ip地址查看到目标IP地址通不通

ping 本地回环地址查看本地网卡是否正常


  • 安全SHELL SSH

远程控制服务器

ssh [-p 端口号] user@ip地址

Windows下需要安装XShell或者Putty


  • 用于本地和服务器之间传输文件 scp

scp –P 端口号源文件 user@ip:目标地址

scp –P 端口号user@ip:服务器文件本地地址

scp –r 复制目录


  • Ssh免密登录:

在终端中输入:ssh-keygen和ssh-copy-id–p port user@ip

之后再连接到user服务器就不用输user的密码了


  • ssh设置别名:

在终端.ssh文件件中,添加config文件:该文件内容为:

Host 别名

     HostName ip地址

     user 用户名

     port 端口号

再使用ssh登录远程服务器即可使用命令 ssh 别名

或者使用scp ….. 别名:地址

3、权限管理

通过ls –l命令可以查看文件的类型



首字母-表示文件,d表示目录;

紧跟着九个字符分三组,每组中的rwx表示读写执行三组依次代表拥有者,所属组和其他人的权限;

紧跟着的数字表示访问该文件的方式有几种;

紧跟着是拥有者 所属组;

文件大小;

修改时间;

文件名;


  • 修改文件/目录权限(对拥有者、所属组、其他人一起修改)

chmod +/-rwx 文件/目录名



目录的可执行权限是必须的,否则不能对文件进行一系列操作

一般用户要使用root才能执行系统命令,需要在执行的终端命令前添加sudo

以下命令需要sudo

  • 添加组:groupadd 组名







  • 查看组信息:cat/etc/group






最后一行会显示刚添加的组


  • 删除组:groupdel 组名




最后一行的huxixi被删掉了;


  • 修改某个文件/目录的所属组

chgrp 组名文件/目录名



-R表示对目录中所有文件都递归修改其所属组








  • 添加用户

useradd –m –g 组名用户名

-m自动创建用户家目录

-g指定用户用户组,不加的话默认是用户名同名组

cat /etc/passwd查看用户信息(密码,用户编号,用户组编号,用户名,家目录)



最后一行有新添加的用户信息




  • 为用户创建密码:passwd用户名





  • 删除用户:

userdel -r 用户名(-r删的彻底,不然再添加同名用户会有麻烦)




  • 查看用户编号:id 用户名





  • 查看当前登录系统的用户有哪些:who





  • 查看自己是谁:whoami





  • 修改用户所属附加组:usermod–G 组名



  • 修改用户所属主组:usermod–g 组名

修改后需要重新登录才能生效


  • 修改用户能使用的shell为bash

usermod –s /bin/bash 用户名






  • 查看命令保存路径

which 命令



一般保存在/bin或者/sbin中


  • 切换用户

su用户名

su – 用户名(切到对应用户家目录)

不加用户名会切换到root

Exit退出




  • 修改文件拥有者

chown 用户名文件/目录






  • 修改文件权限

chmod –R 权限数字(r-4,w-2,x-1)文件/目录

权限数字三位数(从左到右依次代表拥有者权限、组权限、其他人权限)



 4、系统信息相关


  • 查看系统时间:date





  • 查看当月日历:cal






  • 查看当年日历:cal –y





  • 查看磁盘剩余空间:df–h(以人性化方式显示)





  • 查看目录占用空间大小:du–h [目录名](不指定目录的话是当前所在目录)




5、进程相关

  • 查看当前用户运行的终端进程:ps





  • 查看所有用户运行的终端进程:ps a





  • 查看所有用户运行的终端进程详细状态:ps au





  • 查看所有的进程:ps aux





  • 动态显示按照cpu和内存占用率排序的进程:top

退出top用q




  • 杀死进程:kill 进程编号(使用ps au查看)

强制杀死进程:kill-9 进程编号

不要杀死以root身份运行的进程

6、文件相关处理

  • 查找文件

find [路径] –name “文件名”

文件名可以使用通配符表示

路径不指定的话在当前目录中查找




  • 软连接:类似文件的快捷方式(链接原文件名)

ln –s 源文件名链接后文件名


  • 硬链接:链接文件数据(相当于给文件又取了个名字)

ln 源文件名硬链接文件名


  • Linux中文件名和文件数据是分开存储的,删掉文件数据所对应的的所有文件名才能删除文件数据,删掉文件名,文件数据依然存在。



  • 打包文件:将多个文件打包成一个大文件

tar –cvf 打包文件名.tar 被打包文件…….




  • 解包:

tar –xvf 打包文件名.tar






  • 压缩文件:

1、tar –zcvf 打包文件名.tar.gz 被打包文件……    (使用gzip压缩打包文件)

2、tar –jcvf 打包文件名.tar.bz2 被打包文件….     (使用bzip2压缩)

  • 解压缩文件:

  • 打包文件名.tar.gz

  • 打包文件名.tar.bz2

后面加-C 路径名(解压缩到指定目录)


  • 安装/卸载/升级软件

sudo apt install/remove 软件包

sudo apt upgrade


  • 寻求帮助:

命令 –help

man 命令


  • 编辑神器vim相关操作

vi 文件名(存在的话直接打开编辑文件,不存在的话新建文件)

  • 打开文件并定位到对应行:vi文件名 +行数

  • 打开文件并定位到最后一行末尾:vi 文件名+



  • vi异常退出的话,下次打开选择删除交换文件【D】



  • vi的三种模式

命令模式(直接打开文件即进入)对文件进行复制粘贴定位等操作

(1)输入:进入末行模式(ESC退出进入命令模式)保存退出文件

末行模式命令:W保存;q退出;wq保存并退出;x保存并退出;q!强制退出不保存修改

(2)输入:i进入编辑模式(ESC退出进入命令模式)对文件进行编辑


  • vi中移动光标:

h向左移动光标

j向下移动光标

k向上移动光标

l向右移动光标

w向前移动一个单词

b向后移动一个单词

0回到行首

^回到一个非空格的行首

&回到行尾

gg回到文件顶部

G回到文件末尾


  • 跳转到对应行:

1、数字gg

2、数字G

3、:数字

Ctrl+b向上翻页

Ctrl+f向下翻页

H回到屏幕顶部

M回到屏幕中间

L回到屏幕底部

段落:没有空行的一段文字

{回到上一段

}回到下一段

括号匹配:

%成对括号间移动

标记位置:

m字母(字母a-z或者A到Z中的任一个)

‘标记的字母回到标记处


  • 选中文本

v切换到可视模式   可以选中当前光标位置到手动移动的最终光标位置的所有内容(可配合前面的光标移动命令使用)

V切换到可视行模式  可以选中光标所经过的每一行

Ctrl+v切换到可视块模式   可以垂直选中文本块


  • 撤销:u

  • 恢复撤销:ctrl+r



  • 删除

删除光标所在字符:x

删除选中的文本:(可配合移动命令使用)d

删除光标所在的行:dd

删除光标所在位置至行尾:D


  • 复制

复制选中的文本:y(可配合移动命令使用)

复制一行:yy


  • 粘贴:p



  • 数字+命令  重复执行数字次命令



  • 替换命令

r 替换当前字符

R 替换行光标后的字符


  • 缩排:

向右缩排4个空格>>

向左缩排4个空格<<

重复上次的缩排命令.


  • 查找:

/str 查找str

n 向后查找下一个

N向前查找下一个


  • 查找单词:

*向下查找光标所在的单词

#向上查找光标所在的单词

取消查找后的字符的高亮;随表找一个不存在的字符


  • 查找并替换:

(1)全部替换:

:%s/要替换的字符串/替换成的字符串/g

(2)替换选中区域的指定字符串:

先选中文本区域

:s/要替换的字符串/替换成的字符串/g

(3)确认替换:(替换时会有询问)

:%s/要替换的字符串/替换成的字符串/gc

y替换

n不替换

q退出

a全部替换

l最后一个替换

^E和^Y滚屏操作


  • 插入:

i当前光标前插入

I当前行首插入

a当前光标后插入

A行尾插入

o当前行后插入一行空行

O当前行前插入一行空行


  • 重复输入相同的内容N次:

1、输入要重复的次数数字N

2、输入i进入编辑模式

3、输入编辑的内容

4、退出

vi会自动输入N次编辑的内容


  • 利用可视块模式给多行代码注释(python注释是在行首加#)

1、光标移动到要注释内容第一行行首位置

2、光标向下移动到要注释内容的最后一行行尾

3、输入大写I进入编辑模式,输入#

4、ESC退出

Vi会自动将选中的内容全部加注释


  • 显示

:e .打开当前目录(打开linux内置文件浏览器,浏览当前文件夹下的所有文件,光标移动到相应文件回车即可打开该文件)

:e 文件名打开相应文件(切换文件)

:n 文件名新建文件

:w 文件名另存为文件到新文件

:sp [文件名]上下分屏(不加文件名,分屏两个窗口的内容完全相同)

:vsp [文件名]左右分屏

操作分屏:

                w切换窗口

                r两个窗口互换位置

Ctrl+w+   c关闭窗口(但不能关闭最后一个窗口)

                q退出当前窗口(如果当前窗口是最后一个窗口,则退出vi)

                o关闭其他窗口                                                           


----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:婷哥碎碎念,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了