Linux简易教程 Linux系统起源简介
balabalabala
Linux⽤⼾和权限
linux是⼀个多任务,多⽤⼾系统。多⽤⼾就带来了权限的问题,⽂件和⽂件夹都有明确的所有者和相应的读写权 限。
⽂件的所有者分为三类:
user ⽤⼾本⼈ group ⽤⼾所在的组 other ⽤⼾所在组之外的⽤⼾
⽂件的权限分为三类
r:read 读
w: write 写
x:execute 执⾏
⽂件/⽂件夹的权限可以以字rwx来表⽰,因为只有这三种状态,因此也可以⽤3位⼆进制的数字来表⽰或者⽤⼋进 制来表⽰。同时⽂件的权限不会是单⼀的⼀个⽤⼾的权限,而是所有三种权限的组合,所以可以看到类似下⾯表格 中的权限表⽰⽅式:
图片: https://uploader.shimo.im/f/sdMlV32NrqMb8KEo.png
需要注意的是,⽬录不是⽂件,⽬录是不可执⾏的,⽬录的可执⾏代表这个⽬录可以被查看。
图片: https://uploader.shimo.im/f/DTnZ1Xziv8UyCGMP.png
Linux⽬录介绍
/ 根⽬录
也就是安装系统的那个硬盘,是整个系统的最⾼⽬录,通常只有root权限⽤⼾才有权操作这个⽬录
/root⽬录
这个⽬录是root⽤⼾的⽬录,跟系统⾥⾯的其他⽤⼾的⽬录是分开的,⼀般⽤⼾使⽤不到这个⽬录
/home⽬录
/home/user ⽬录的名称跟⽤⼾名相同,是⼀般⽤⼾的⽬录,如果没有特别的设置,所有⾮root⽤⼾的home⽬录 都在/home下⾯
/tmp⽬录
⼀般存放⼀些临时⽂件,⽐如linux的socket⽂件,cache之类的东西,这⾥的数据重启之后不保证存在,重要的东 西不要放在这⾥
/var⽬录
⼀些运⾏的时候需要改变的东西放在这⾥,例如web服务器的⽹⻚⽂件等等
/media⽬录
这个⽬录⼀般⽤来挂载可移动存储设备,如光盘,移动硬盘,u盘等等
/etc⽬录
⼤部分配置⽂件都放在这⾥
/boot⽬录
启动⽬录,也是linux内核等存放的地⽅
/usr⽬录
⾮系统⾃带的软件会被安装在这⾥,也就是⽤⼾⾃⼰安装的软件⼀般放在这⾥
/bin⽬录
系统的⼀些命令会安装在这⾥
/lib /lib64⽬录
系统的⼀些库在这⾥
他⽤⼾只读
/opt⽬录
早期⼀些软件会安装在这⾥,⽬前这个⽬录基本没什么⽤
/proc⽬录
系统内核信息查询⽬录,本⾝在磁盘上不存在,每次运⾏的时候,由内核在内存中创建,⾥⾯的⽂件保存了系统的 各种运⾏信息
/dev⽬录
系统设备⽬录,所有设备都可以在这⾥找到
/sys ⽬录
系统设备和信息⽬录,⼀个⽐较新的⽬录,⾥⾯也是包含了系统所有的设备和信息
/run⽬录
系统运⾏⽬录,存放⼀些只有运⾏的时候才会存在的信息,这个⽬录重启的时候⼀定会被重新创建。
隐藏⽂件/⽬录
在linux下⾯以点开头的⽂件/⽬录为隐藏⽂件/⽬录,需要使⽤特定的参数才能列举出来,这种⽂件/⽬录⼤量出现 在⽤⼾的home⽬录下,⼀般是⽤做存储配置信息,临时⽂件等等。
Linux常⽤命令介绍
linux下的命令⼀般都⾃带help,直接在命令⾏中以 --help参数执⾏即可看到。也可以通过man命令查看某个命令 的⼿册:
图片: https://uploader.shimo.im/f/UWh1IgPN9QYClFBm.png
less
当命令输出过⻓的时候,可以⽤来分⻚查看
图片: https://uploader.shimo.im/f/GQMBAjMrGeAizvPT.png
ls
列举⽂件或者⽬录的时候使⽤,可以⽤来查看⽂件的基本信息
图片: https://uploader.shimo.im/f/h1YmqcjnpPoxq8wV.png
cd
切换⽬录的时候使⽤
图片: https://uploader.shimo.im/f/aPfsve2bsvYjSqEv.png
pwd
⽤于显⽰当前⽬录,在需要输⼊⽬录参数的时候⾮常有⽤
cat
显⽰命令,⽤于将⽂件的内容打印到命令⾏上⾯
图片: https://uploader.shimo.im/f/OfvITSoruzcOicXU.png
需要注意的是,cat可以打印任何⽂件的内容,甚⾄是⼆进制⽂件,但是⼆进制⽂件⼀般命令⾏上⽆法显⽰, 如果要打印的⽂件过⼤(⼏个MB以上)命令⾏⼀般会卡住⼀会⼉ tar
打包解包命令,这个命令⽐较复杂,而且可以组合多个命令实现⾮常复杂的功能,包括⽂件分卷压缩等等,请⾃⾏ 666
图片: https://uploader.shimo.im/f/KUxxgHRGs4Uq50j7.png
ps
进程信息查询命令,可以⽤来查询系统中运⾏的所有进程的信息
图片: https://uploader.shimo.im/f/hEqhLEJmA30ykNvg.png
kill, killall
杀进程命令,可以⽤来杀掉某些不想要的进程
图片: https://uploader.shimo.im/f/X5YenSlO7UkNo0ng.png
使⽤kill⽅式杀掉的进程⼀般不会有机会执⾏退出动作,所以并不安全。kill⽅式并不那么常⽤ grep,egrep
过滤命令,⼀般配合其他命令使⽤,⽤于对其他命令的输出进⾏过滤。egrep为其正则表达式版本,功能更加强 ⼤,但是⼀般不常⽤
图片: https://uploader.shimo.im/f/kBMr1Zbx9okrErKi.png
wc
字数统计命令,⼀般⽤来统计⽂件的⾏数,经常和其他命令配合使⽤
图片: https://uploader.shimo.im/f/rYd6OL7OJFsh0sSw.png
sudo
以root权限执⾏命令
图片: https://uploader.shimo.im/f/0r9g4zoooMgTbCkU.png
cp
复制⽬录或⽂件
图片: https://uploader.shimo.im/f/OaTD62COwqEEnuYV.png
mv
移动⽬录或⽂件
图片: https://uploader.shimo.im/f/hi9prUKdE2gTon5z.png
rm
删除⽬录或⽂件
图片: https://uploader.shimo.im/f/CcFhpWTr0iQNsr29.png
rm删除的⽂件是真的被从⽂件系统⾥⾯删掉了,不是放到回收站⾥⾯了,除⾮通过特殊⼿段,⼀般⽆法回 复,所以rm需要谨慎操作
chmod
⽂件权限操作命令,这个命令⼀般⽤来给⽂件添加可执⾏权限
图片: https://uploader.shimo.im/f/eFYS0GTYAhMnveJo.png
chown
修改⽂件的权限所有者
图片: https://uploader.shimo.im/f/YUI9SWF5TbcQQLwF.png
执⾏这个命令需要⽤⼾有⾜够的权限,可以操控被修改的所有者,⼀般是root⽤⼾使⽤
head, tail
查看⽂件的内容
图片: https://uploader.shimo.im/f/DrhX5BhNa0Qpcdle.png
tree
查看⽬录的结构
图片: https://uploader.shimo.im/f/VvLFwHWa7dUyv3mD.png
这个命令⼀般不包含在系统内,需要apt进⾏安装
nohup
后台执⾏命令。在linux中执⾏命令的时候,如果命令⾏窗口关掉的话,会直接也⼲掉命令⾏窗口⾥⾯开的所有进 程,远程执⾏命令的话,很多时候⽆法保证命令⾏窗口⼀直开启,这种时候就需要nohup命令。
图片: https://uploader.shimo.im/f/3GX2gmijZfAMSDs2.png
同样能够实现后台运⾏的⼯具还有screen,tmux等等。但是⼀般装完系统之后,nohup系统都会带着,其他 命令基本都需要⾃⼰安装
ssh
ssh登录命令
图片: https://uploader.shimo.im/f/53Wd0UL3yWE5Qzjb.png
这个命令只是⼀个客⼾端,想要使⽤的话,还需要被登录的主机上安装ssh服务器,⼀般使⽤opensshserver。
ssh默认端口是22,但是为了安全起⻅,很多服务器都会改变默认的ssh端口
rsync
同步命令,这个命令⼀般⽤来在不同的⽂件夹之间同步⽂件,同步动作能保证两个⽂件夹内容⼀致,不管原来改动 了什么。这个命令也经常被⽤来做备份,因为可以实现增量的备份。
图片: https://uploader.shimo.im/f/TzQwUXfinVcGYicR.png
source
执⾏某个脚本的时候⽤的命令
图片: https://uploader.shimo.im/f/aKOGxSW5yUYHAfnj.png
这个命令和直接执⾏脚本⽂件是⼀样的,区别在于这个命令不要去⽂件具有可执⾏权限
⽬前各⼤linux发⾏系统中已经使⽤dash替换bash,这两个是兼容的,由系统⾃动处理,⽤⼾基本不需要关 ⼼
apt-get,apt-cache
apt命令家族,主要⽤于系统软件的管理
图片: https://uploader.shimo.im/f/SbtdMtQWOuIdDwZx.png
nano
⽂本编辑器,功能⽐vi弱⼀些,但是⽐较⽅便,学习曲线没有那么陡峭。而且nano编辑器底部⾃⼰带着各个快捷键 的提⽰,⾜以满⾜⽇常编辑的需要。写代码肯定不好⽤,但是ssh到服务器,编辑配置⽂件⾜够了。
wget
命令⾏上的下载⼯具
Linux下⼀些增强可⽤性的⼯具,插件等
以下介绍⼀些linux上我认为⽐较好⽤的⼯具或者软件,不详细展开,具体内容请⾃⾏666. screen tmux
命令⾏中的终端会话管理软件,具体内容请666
terminator
终结者程序,也是⼀个终端会话管理软件,⽤于GUI环境中
zsh, oh-my-zsh
bash的替代品,zsh本⾝功能强⼤,可配置项极其丰富。oh-my-zsh是zsh的⼀个配置⽂件套装,包含了命令⾏⾃动 补充,语法⾼亮,git仓库信息提⽰等等
nautilus-actions
nautilus右键菜单⾃定义软件,可以很⽅便的⾃定义nautilus的右键菜单 wps-for-linux
⾦⼭wps的linux版本,虽然好多年没更新了,但是⽂档标准也⼀直没变化,看⽂档肯定是可以⽤的
uget
⼀个GUI的带断点续传功能的下载软件,软件后端是aria或者wget
atom
github官⽅出品的全功能⽂本编辑器,插件丰富功能强⼤,通过安装各种插件可以实现⼏乎任何你想到的功能,缺 点是太占资源
top,htop
查看系统内资源占⽤情况的⼯具,top⼀般系统都⾃带了,htop需要额外安装但是界⾯看着⽐较舒服
gnote
GUI下⾯的便签软件,平时拿来记东西⽤的
typora
所⻅即所得的markdown编辑器,功能强⼤
gitg
GUI的git仓库管理软件
shutter
截屏软件,像qq截屏⼀样,可以添加各种批注
gnome-tweaks
gnome调节软件,可以优化gnome的各项功能,主题修改等等
meld
类似于windows下的beyondcompare的⽂本⽐较软件