前言
很多人工和学习中,或多或少需要使用Linux系统进行操作,但本身又对Linux系统了解不多,入手看书或者大佬的博客又因为灌输东西太多而很难接受。因此我整理这篇文章,希望可以帮到有需要的人。
而这种“被使用Linux”不需要环境的配置,一般会使用ubuntu、redhat等配置好的UI界面,所以本文只介绍打开终端(terminal)后的操作。至于某些组织使用ssh等远程连接服务器操作,
以下从低到高分为3阶:
阶段一:最low,可以啥玩意儿都不懂,在系统门外完成自己的目的;适合“自己并不关心操作系统,但是软件和工作环境在Linux上”的读者;
阶段二:较low,可以更快捷地操作,且试图窥视Linux门槛;适合经常在Linux上工作学习,或者对Linux略感兴趣的读者;
阶段三:从小白到大佬;适合对Linux非常感兴趣,且想要钻研的大佬。
内容预览
一:阶段一
1.文件/文件夹操作
2.文本操作
二:阶段二
1.文件/文件夹操作
2.文本操作
三:阶段三
1.shell、python、perl脚本入门以及正则表达式;
2.成神之路;
正文
一:阶段一
1.文件/文件夹操作
简介
最基本的文件/文件夹操作类似windows系统,就是进入某个文件夹,进行查看、复制、移动、删除、重命名等;额外的,因为本文前提是工作、学习,涉及到多人维护项目,所以顺便介绍权限修改;
目录结构:
指令 | 描述 |
---|---|
./ | 当前目录 |
../ | 上一级目录 |
指令
常用指令:
序号 | 指令 | 意义 | 描述 |
---|---|---|---|
① | ls | list | 列出路径或当前目录下的所有文件信息 |
② | pwd | print working directory | 打印当前工作目录 |
③ | cd | change directory | 切换路径 |
④ | mkdir | make directory | 创建文件夹 |
⑤ | cp | copy | 复制 |
⑥ | mv | move | 移动/重命名 |
⑦ | rm | remove | 删除 |
注:指令和参数中间要加空格;参数和参数之间也要加空格。阶段一的参数包含地址、文件、文件夹,地址用PATH表示,文件用file1,file2表示,文件夹用dir1,dir2表示。
示例
①
ls PATH:
若显示当前目录,可省略路径
ls
等价于ls ./
②
pwd
③
cd PATH:
cd test进入test目录
cd ..返回上一目录
④
mkdir 新建文件夹
mkdir dir1
⑤
cp 复制文件/文件夹,相当于windows复制粘贴。
cp PATH1/file1 PATH2/file2
若路径为当前路径,可省略路径
cp 1 3
复制文件【1】,并粘贴为文件【3】
可以加路径,且如果路径不同,文件名相同,可省略文件名
cp 1 ./111/
等价于 cp 1 ./111/1
若前后操作为文件夹,则需要加参数【-r】recursive递归,否则会报错。【-r】参数跟在指令后或整条命令最后均可
cp 111 555 -r
等价于cp -r 111 555
⑥
mv移动文件/文件夹,相当于windows的剪切粘贴
mv PATH1/file1 PATH2/file2
若路径为当前路径,可省略路径
mv 3 4
移动文件【3】,并粘贴为文件【4】
可以加路径,且如果路径不同,文件名相同,可省略文件名
mv 4 ./111
等价于mv 4 ./111/4
⑦
rm 删除文件/文件夹
rm PATH/file1 删除该路径下文件【1】。若当前目录可省略路径。
若删除为文件夹,需要加则需要加参数【-r】recursive递归,否则会报错。【-r】参数跟在指令后或整条命令最后均可。如果有确认提示,且不想每个文件确认,则可以额外加参数【-f】force,强制删除。
rm 555 -r 等价于 rm -r 555
注:上文中所有参数中间需加空格,多个空格效果相同。
2.文本操作
简介
Linux下可通过文字编辑软件、编程软件进行文本操作。但如同windows最常用的文本编辑是记事本一样,Linux必须掌握VIM编辑器的基本操作。
说明
Vim编辑器常用三种模式:1.命令模式,2.编辑模式,3.ex命令模式。
1.命令模式:该模式下每个按键有自己本身的功能;按a或i进入2.编辑模式;
2.编辑模式:该模式下,每个按键可打出对应字符;按esc进入1.命令模式;
3.ex命令模式:通过不同ex指令,进行对应的操作;执行对应操作后会回到1.命令模式;
注:打开vim默认为命令模式。如果不是,疯狂按esc能回到命令模式。
阶段一操作
由于Vim编辑器功能非常强大,教多则无法吸收,因此阶段一仅完成:打开文本→编辑内容→保存→退出。
1.打开文本:目录下直接【vi file1】。若没有file1,则会打开空文档,保存后会新建文件【file1】。
2.编辑内容:命令模式下通过↑↓←→键或者jkhl键移动光标(已对应,也可查键位图)到达需要编辑的地方,通过【光标前插入—i】或【光标后插入—a】进入编辑模式,进行编辑。
3.保存:在命令模式下,输入冒号【:】进入ex命令模式,在该模式下输入w,敲回车即保存。
4.退出:在命令模式下,输入冒号【:】进入ex命令模式,在该模式下输入q,敲回车即退出。
示例
命令模式:左下角啥玩儿没有
编辑模式:左下角为–插入–,或对应英文–insert–(大概这个意思,英语不好,拼错了肉眼纠正吧)
ex模式:左下角一个冒号,且右下角的行标列表不显示,指令在:后面显示
**
图片都是网传的,抹不抹水印没意义。图作者如果看到收益0还不放,请联系我我再改图。
3.权限
简介
由于工作学习大多数需要多人合作,所以每个文件和文件夹的权限不光看拥有者(自己个儿),还要看工作组、其他人。因此要赋予合适的权限。
指令
指令chmod,含义即change mode,权限参数MOD,目标参数可以为文件或文件夹,若文件夹及内部文件,则需要加参数【-R】
示例
常用:文件夹、脚本、文件操作:
chmod 755 dir1 dir1文件夹权限:自己可读可写可以查看;工作组、其他人可读不可写可查看;
chmod 755 file1 file1文件权限:自己可读可写可执行;工作组、其他人可读不可写可执行;
chmod 644 PATH/file2 file2文件权限:自己可读可写可执行;工作组、其他人可读不可写不可执行;
说明
只是使用可以不看说明。看的话可以进行解释。
如图,在文件夹内进行ls -l操作,详情显示。其中rwxrwxrwx即三组权限,对应的拥有者user、工作组group、其他人others。
r→Read,读权限;
w→Write,写权限;
x→eXecute,文件执行权限/文件夹查看权限(特别的,如果文件夹没开此权限,无法查看或读取文件夹中所有文件)
三组权限有权则对应位为1,无则为0。每组3bit控制,所以rwx r-x r-x即755,rw- r-- r–即644,所有人开放所有权限rwx rwx rwx即777(不建议777,避免其他人查看时误改)
总结
阶段一结束后,你并没有入门Linux,但是已经可以完成你需要的操作基本可以完成工作或学习任务。当然脚本执行没讲,但是请(骗)你用Linux的人一定会教你你需要运行的脚本怎么玩。基本的东西用多了,自然会犯懒。圣人曰,偷懒为科技进步的动力,想偷懒即可进行下一阶段。
二:阶段二
简介
这一阶段开始,由于不同工作对指令操作需求差异性很大,所以第一推荐还是各搜索引擎和书籍,还有【指令 -help】或【指令 --help】或者【指令 -h】,通过帮助文件了解。后文简单介绍修改快捷指令的方式。例如我有一个路径每天要进入几十次,或者一个带特殊参数的指令使用频率特别高,如果每次还打一长串字符是不是会很累,但是可以用自定义指令进行简便操作。
1.文件/文件夹操作
可以通过修改【.bashrc】文件和【.cshrc】文件进行指令重定义。原理,这两个文件分别是b shell和c shell的配置文件。即用户登录后会先执行该文件的配置。但由于里面一些配置比较重要,修改过多也比较混乱,所以建议在外面创建新文件,将配置写到新文件中,然后通过source指令添加到对应配置文件中。不确定是哪种,要么通过下面注释查看,要么两个文件都修改下。
注:部分系统使用perl、python等作为用户指令解释器,可通过询问前辈或者查询【/etc/passwd】最后一行确认。
1.首先【cd 】然后回车,进入自己的home路径,编辑文件【.bashrc】和【.cshrc】
2.文件末行分别添加:source ~/file1,source ~/file2。其中,~/代表个人根目录。例:
3.分别编辑file1和file2,在里面设置自己习惯的指令。特别的,被不同shell配置文件引用,则需要使用对应语法。对应语法请自查,因为我也没掌握。。。例:
其中alias即化名、别名的意思,即输入前面指令,执行后面的指令。类似C语言中define。
4.保存并推出。重启终端或者退出当前用户重新登录生效。我的例子中每一行指令需要自行查找,毕竟个人习惯对其他人是没意义的。
特别的,最后一行,即敲desk即可进入固定目录,对工作学习便捷性最大。
2.文本操作
类似文件操作,在个人根目录下编辑文件【.vimrc】在其中source文件【.vimrc_myself】,在文件【.vimrc_mysefl】中添加自己的喜好,内容均为Vim的ex指令。例:
其中syntax on 语法高亮;set nu 显示行号。其他个人喜好的指令还需个人学习。
总结
设置个人偏好,针对个人经常做到事半功倍。其他指令比如cat、grep等并不是每个人都需要,还是自行查找比较合适。
三:阶段三
我也只是个二阶渣,我阶段三能讲啥子嘛。留个标题说下有这个事就够了,需要的话自行搜索对应的或者看书
(/ □ )
后记
这是一则虚假的后记,不提供总结,也不提供任何网址。前面的必须看一条会一条,敲黑板了,这不是考点,但是是基础,就好像学高数要背半张希腊字母表一样0.0。所以要想真正懂Linux,我们还是一起向书籍和别人的博客学习吧~