大家好,我是被白菜拱的猪。
一个热爱学习废寝忘食头悬梁锥刺股,痴迷于girl的潇洒从容淡然coding handsome boy。
一、写在前言
荒废了好久的博客,今日重拾起,下面的学习的路线,Linux,Redis,Docker。我们经常把写上的程序发布在Linux系统,所以身为一个程序员学Linux是势在必行,不会点Linux怎么能行呢,下面就基于CentOS7讲讲Linux的基本命令,为此我还特地在阿里云上面买了一个学生机,方便学习。
在Linux中,一切皆为文件,我们操作Linux系统也就是操作文件,所以我们必须要熟练掌握各种命令,下面分为几大模块,一是对文件夹的操作,二是对文件的操作,如何查看文件中的内容,如何写入文件等等。
二、Linux基本命令
1、系统目录结构
使用ls命令查看
-
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
-
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
-
/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
-
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
-
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
-
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
-
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
-
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
-
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
-
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
-
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
-
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
-
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
-
/srv:该目录存放一些服务启动之后需要提取的数据。
-
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
-
/tmp:这个目录是用来存放一些临时文件的。
-
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
-
/usr/bin: 系统用户使用的应用程序。
-
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
-
/usr/src: 内核源代码默认的放置目录。
-
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
-
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
2、处理目录的常用命令
- ls:列出目录 -a显示隐藏的目录,-l显示文件属性与权限等信息
- cd:切换目路,change directory缩写,/代表跟目路
- pwd:显示目前所在目录 Print Working Directory
- mkdir:创建目录(make directory),-p可以递归创建目录
- rmdir:删除目录
- cp:复制文件或者目录
- rm:移除文件或者目录,-f强制,-r递归删除,rm -rf 小心使用啊,搞不好会坐牢的
- mv:移动文件或者目录
3、文件属性
当我们使用ls -l命令时,会显示如下信息
(1)前面第一个字母代表文件的类型
d代表目录,-代表文件,l代表连接
(2)然后后面是三组rwx如何r代表可读,w可写,x可执行(execute),-代表没有权限,三组分别是属主权限,属组权限,其他用户权限
(3)数字代表该目录下又包好多少文件,后面两个分别代表属主,和属组,即属于哪个组
那么我们可以改变这些属性吗?of course,可以。
- chgrp [-R] 属组名 文件名,更改文件属组
- chown [-R] 属主名 文件名,更改文件属主
- chmod 更改文件属性,r:4,w:2,x:1,chmod 777文件名,即rwxrwxrwx。
4、查看文件内容
- cat/tac:第一行显示文本内容/倒数开始显示文本内容
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符 - nl:显示行号
-b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:-n ln :行号在荧幕的最左方显示;-n rn :行号在自己栏位的最右方显示,且不加 0 ;-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。 - more
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用 - less
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关)
N :反向的重复前一个搜寻 (与 / 或 ? 有关)
q :离开 less 这个程序; - head/tail
-n 后面接数字,代表显示几行的意思
5、硬链接/软链接
硬链接相当于同步备份,删除一个另一个还有
软链接相当于创建快捷方式,删除源文件,链接就失效了
使用ln来创建链接,ln -s创建软链接,使用touch来创建文件,echo来写入文件内容。
三、结束语
最近学习有些懈怠,争取明天把Linux基础内容搞定。