自16年以来,好像从来没有专一的做过自己喜欢的事情,一直将自己交给命运,觉得自己好像分配什么任务都可以完成,一个自动化专业的本科生,不去专攻控制领域,而是接受了导师分配的机械课题(分明自己的内心当时是想选光电控制的那个课题,却想着机械自学一下毕业也没什么的,都是学习,没有和导师沟通);喜欢学习计算机,喜欢码代码,自学搞定软件开发岗面试的自己,却被分到了测试岗(明明更希望做开发,却想着自己应该可以做好测试,没有和HR沟通),一次次地在痛苦中挣扎前行。 这次我要掌控自己的命运,做自己喜欢的事情,后面将会分享一些自己的学习笔记,希望能帮助到想和我一样入门进阶的小白,互相帮助,一起加油吧~ 遇到一个工作数年的乙方,来公司技术服务的时候,偶尔聊天跟我说:“一个合格的开发至少要有两年测试的经历,一个合格的测试至少要有两年开发的经历”,我觉得很有道理,那我就从两年测试经历开始,逐步实现自己的开发梦吧!不知道从哪里开始,就慢慢接触了解深入吧,说不定某一天会有个明确的喜欢研究的方向。 第一篇是这一个月利用下班时间学习整理的Linux基础(9.10—10.10) 操作系统这个东西,名字很神秘很高深,我其实就把它当做一个软件来学了,无非给它些指令,它再给我反馈些我想要的效果,小白开始学习的内容无非就是在windows下常干些啥,学下用Linux怎么操作就可以了吧(打游戏请绕过,我不打游戏)。 1、初识Linux 桌面版的Linux操作起来应该和Windows差不多,所以重点放在命令行截面,黑漆漆的截面有种黑客感觉,装逼必备~ 下载路径在https://www.linux.org/pages/download/很多版本可以下载使用;下载完成之后我是安装到虚拟机VMware里了(毕竟不太了解以及不太常用的时候还是不要把它当主机操作系统了,主要是没钱买台新电脑),安装完进入就是下图的样子啦。 这个时候要想进入就要输入自己安装时给root用户名设置的密码了,注意:Linux中输入密码是没有任何显示的(不要以为自己的系统坏掉了),像下图这样输完敲回车就进去啦。 进去之后我们总要知道自己在哪里以及要去哪里,可以执行什么操作。这些操作一般格式是:命令[-选项]([]表示可选项,可有可无,根据自己的需求调整),记住Linux中万物皆文件,所以先来看看文件相关操作。 2、文件相关操作
用户进入会在自己的家目录下(可以理解为在自己的家里)
ls -alh 选项意义: 列出全部(l)文件的详细信息(不包括隐藏文件) 以占有空间大小友好(h)的方式显示 列出全部文件包括隐藏文件(a) 【隐藏文件是以.开头命名的文件】
touch 文件名
创建单层目录:mkdir 目录名 创建多层目录(递归创建):mkdir -p 多层目录名(多层目录分隔符用/)
cd 路径名 .表示当前路径 ..表示上一级目录路径 -表示在上一次与本次目录之间切换
rm 文件名 不带询问的删除文件(强制删除文件):rm –f 文件 删除目录:rm -r 目录 强制删除目录:rm -rf 目录 【更新到ubuntu18.04后发现不需要加-f选项啦】
cp 源文件 目标文件/目标地址路径 cp -i 【会询问是否覆盖同名文件】 cp -r 源文件 目标文件/目标地址路径(复制目录)
mv 源文件同路径目标文件(如果源文件与目标文件为同一路径则为重命名) –i 同名覆盖提醒
echo 文本(一般和重定向一起使用,将内容打印到文件中,没有文件的话直接创建文件)
>文件名(覆盖文件内容); >>文件名(追加文件内容) echo 文本 > 文件名;
cat 文件名(一下子全部显示出来) cat –n 文件名(显示行号包含空行) cat –b 文件名(显示行号去除空行) Ubuntu18.04中-n和-b效果一样 more 文件名(分屏显示内容) 对该文件显示的操作: 空格/b回滚一屏; f前滚一屏; q退出; /word搜索word Enter下一行
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 | grep internt ping ip地址查看到目标IP地址通不通 ping 本地回环地址查看本地网卡是否正常
远程控制服务器 ssh [-p 端口号] user@ip地址 Windows下需要安装XShell或者Putty
scp –P 端口号源文件 user@ip:目标地址 scp –P 端口号user@ip:服务器文件本地地址 scp –r 复制目录
在终端中输入:ssh-keygen和ssh-copy-id–p port user@ip 之后再连接到user服务器就不用输user的密码了
在终端.ssh文件件中,添加config文件:该文件内容为: Host 别名 HostName ip地址 user 用户名 port 端口号 再使用ssh登录远程服务器即可使用命令 ssh 别名 或者使用scp ….. 别名:地址 3、权限管理 通过ls –l命令可以查看文件的类型 首字母-表示文件,d表示目录; 紧跟着九个字符分三组,每组中的rwx表示读写执行三组依次代表拥有者,所属组和其他人的权限; 紧跟着的数字表示访问该文件的方式有几种; 紧跟着是拥有者 所属组; 文件大小; 修改时间; 文件名;
chmod +/-rwx 文件/目录名 目录的可执行权限是必须的,否则不能对文件进行一系列操作 一般用户要使用root才能执行系统命令,需要在执行的终端命令前添加sudo 以下命令需要sudo
最后一行会显示刚添加的组
最后一行的huxixi被删掉了;
chgrp 组名文件/目录名 -R表示对目录中所有文件都递归修改其所属组
useradd –m –g 组名用户名 -m自动创建用户家目录 -g指定用户用户组,不加的话默认是用户名同名组 cat /etc/passwd查看用户信息(密码,用户编号,用户组编号,用户名,家目录) 最后一行有新添加的用户信息
userdel -r 用户名(-r删的彻底,不然再添加同名用户会有麻烦)
修改后需要重新登录才能生效
usermod –s /bin/bash 用户名
which 命令 一般保存在/bin或者/sbin中
su用户名 su – 用户名(切到对应用户家目录) 不加用户名会切换到root Exit退出
chown 用户名文件/目录
chmod –R 权限数字(r-4,w-2,x-1)文件/目录 权限数字三位数(从左到右依次代表拥有者权限、组权限、其他人权限) 4、系统信息相关
5、进程相关
退出top用q
强制杀死进程:kill-9 进程编号 不要杀死以root身份运行的进程 6、文件相关处理
find [路径] –name “文件名” 文件名可以使用通配符表示 路径不指定的话在当前目录中查找
ln –s 源文件名链接后文件名
ln 源文件名硬链接文件名
tar –cvf 打包文件名.tar 被打包文件…….
tar –xvf 打包文件名.tar
1、tar –zcvf 打包文件名.tar.gz 被打包文件…… (使用gzip压缩打包文件) 2、tar –jcvf 打包文件名.tar.bz2 被打包文件…. (使用bzip2压缩)
后面加-C 路径名(解压缩到指定目录)
sudo apt install/remove 软件包 sudo apt upgrade
命令 –help man 命令
vi 文件名(存在的话直接打开编辑文件,不存在的话新建文件)
命令模式(直接打开文件即进入)对文件进行复制粘贴定位等操作 (1)输入:进入末行模式(ESC退出进入命令模式)保存退出文件 末行模式命令:W保存;q退出;wq保存并退出;x保存并退出;q!强制退出不保存修改 (2)输入:i进入编辑模式(ESC退出进入命令模式)对文件进行编辑
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切换到可视块模式 可以垂直选中文本块
删除光标所在字符:x 删除选中的文本:(可配合移动命令使用)d 删除光标所在的行:dd 删除光标所在位置至行尾:D
复制选中的文本:y(可配合移动命令使用) 复制一行:yy
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当前行前插入一行空行
1、输入要重复的次数数字N 2、输入i进入编辑模式 3、输入编辑的内容 4、退出 vi会自动输入N次编辑的内容
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。 ---------------------------------------------------------------------------------------------------------------------- |