likes
comments
collection
share

Linux 快速入门:基础命令集合

作者站长头像
站长
· 阅读数 19

Linux 快速入门:基础命令集合

前言:

本篇,不是面向运维级别的 liunx系统学习, 而是针对Java——大数据学习, 所需要的基本功能~ Linux 总而言之,根本也就是一个 操作系统! 操作系统, 作为一个程序员 现代人每天都会有很多接触: 常见的操作系统有↓↓↓

PC: Windows,OSX,Linux.. 服务器: Unix/Linux,Windows Server,OSX... 嵌入式设备(智能手机): Linux,Android,VxWorks,iOS....

Linux简介:

企鹅 logo: 企鹅是属于极地生物, 而南极北极, 这种极地 不属于任何国家!! 内涵, 技术共享开源学习!! Linux 快速入门:基础命令集合

Linux,全称 GNU/Linux ,是一套免费使用和自由传播的类Unix操作系统常用于服务器端使用; Linux历史: 20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有: Unix、DOS和MacOS这几种。 Unix价格昂贵不能运行于PC;DOS显得简陋, 且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。


这时一位大学生 林纳斯·托瓦茨想要了解Intel的新CPU386。他认为较好的学习方法就是自己编写的一个操作系统的内核。 于是:1991年,林纳斯·托瓦茨为了学习就模仿 Unix开发出了, Linux 并且遵循当时的一个GNU(自由软件基金会) 技术无偿共享原则, 所以大佬慷慨的:免费,开源 的共享了出来!!😭大佬牛皮! 正是因为开源, 后来的大佬可以看到其内部的代码结构, 并不断的对其优化 维护~ , 使其渐渐的: 安全 高效!支持高并发...集合大佬们的力量的产品!


如今: Linux得到了来自全世界软件爱好者、组织、公司的支持。 它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。

Linux 分类:

Linux的版本分为两种:内核版本发行版本 内核版本 : 是指在Linus领导下的内核小组开发维护的系统内核的版本号。 发行版本 : 是一些组织和公司根据自己发行版的不同而自定的。 目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE等。 Linux 快速入门:基础命令集合

Linux操作系统 学习安装方式:

这个是比较头疼的, 市面上滴发行版非常多,也有收费的.. 本人学习的是 CentOS7 (其实, 这方面并无太大影响, 毕竟内核是一样的不会相差太多的!); `` 而且, 大部分人目前市面上常见的操作系统是: Windows(图形界面更好, 面向非程序员用户很多...) 想要学习Linux 但是目前系统是 Windows... 这是很多人面临的一个大问题.. 关于笔记本操作系统的问题:(解决方法)

整机安装(llinux操作系统) 双系统并存安装 虚拟机安装 (本人使用的方式, 这里不做VM的配置安装讲解, 如果想要效仿本人可以借鉴:Linux环境 常用软件安装 ) 最后奉上:CentOS官网 https://www.centos.org//

走近Linux系统

开机登录:

开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

开机成功后,它会显示一个文本登录界面, 这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名/密码。 一般来说,用户的登录方式有三种: 命令行登录 ssh登录 图形界面登录 最高权限账户为 root,可以操作一切! 密码:123123 本人的密码...

关机:

在linux领域内大多用在服务器上,很少遇到关机的操作。 毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。 关机指令为: shutdown

 sync                #将数据由内存同步到硬盘中。
 在Linux系统中,为了加快数据读取速度,默认的情况中,某些已经加载内存中的数据不会直接被写回硬盘,而是先缓存在内存当中。
 万一你的系统因为某些特殊情况造成不正常关机,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的升级不正常啦!
 直接在文字接口下输入sync,那么在内存中尚未被升级的数据,就会被写入硬盘中!
 这个命令在系统关机或重新启动之前, 很重要喔!最好多运行几次(2-4次)!
 ​
 shutdown            #关机指令
 shutdown –h 10      #这个命令告诉大家,计算机将在10分钟后关机
 shutdown –h now     #立马关机
 shutdown –h 20:25   #系统会在今天20:25关机
 shutdown –r now     #系统立马重启
 shutdown –r +10     #系统十分钟后重启
 reboot              #就是重启,等同于 shutdown –r now
 halt                #关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

系统目录结构

登录系统后,在当前命令窗口下输入命令: ls/ Linux 快速入门:基础命令集合 树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下) Linux 快速入门:基础命令集合 以下是对这些目录的解释:

目录名称说明
/Linux系统根目录
/binbin是Binary的缩写, 这个目录存放着最经常使用的命令。
/devdev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。etc/profile:Linux系统环境
/home用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
/usr一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。  (本人,也喜欢在把工具都安装在这里 /usr/local)
/opt这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/root该目录为系统管理员,也称作超级权限者的用户主目录。
/var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
/run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除
更多...

Linux目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 / 绝对路径: 由根目录 / 写起,例如:/usr/share/doc 这个目录。 相对路径 : 路径的写法,不是由 / 写起例如: /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man 这就是相对路径的写法啦! .. 返回上一级 /main 到main 路径下~

处理目录的常用命令

 pwd [-p]                            #查看当前所在目录,加-p:pwd -p 显示出确实的路径,而非使用连接(link) 路径。
 cd 相对/绝对路径                      #打开目录
 ls –a                               #查看目录下文件,连同隐藏文件(开头为.的文件),一起列出来(常用)
 ls -l 或 ll                          #查看目录下文件,包含文件的属性与权限等等数据;(不包含隐藏文件,常用)
 ls -al                              #查看目录下文件,包含文件的属性与权限等等数据,连同隐藏文件;
 mkdir [-mp] 目录名称                    #创建文件目录;
     #-m :配置文件的权限喔!直接配置,不需要看默认权限 
     mkdir -m 777 文件名;               #777:最高权限;      
     #-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!(创建多级目录结构)
     mkdir -p test1/test2/test3      #Linux没办法直接创建此目录啊!-p可以,创建多层目录;
     
 rm –rf 目录或者文件                   #删除文件或目录;
     #rm [-fir] 文件或目录
     #-f:就是 force 的意思,忽略不存在的文件,不会出现警告信息;
     #-i:互动模式,在删除前会询问使用者是否动作
     #-r:递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!(包含子目录)
     
 mv [-fiu] [文件/目录][文件/目录]        #移动文件或修改文件名;
     #将文件夹1名称更改问文件2:mv [文件1][ 文件2]
     #将目录1的文件移动到目录2:mv [目录1][ 目录2]
     #将文件移动到目录下     :mv [文件] [目录]
     #-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
     #-i :若目标文件 (在destination目录) 已经存在时,就会询问是否覆盖!
     #-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
     
 cp                                  #复制文件或目录
     #cp [-adfilprsu] 来源档(source) 目标档(destination)
     #-r:递归持续复制,用於目录的复制行为;(常用)
     #-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
     #-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
     #-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
     #-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
     #递归复制目录1的所有的文件和文件夹到目录2:cp  –r  [目录1][目录2]
     #执行复制操作时覆盖原有目录前询问用户:cp  –ri  [目录1][目录2]

Linux文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。 为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组: Linux 快速入门:基础命令集合 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等: 当为[ d ]则是目录 当为[ - ]则是文件; 若是[ l ]则表示为链接文档 ( link file ); 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 ); 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。 其中: r 代表可读(read) w代表可写(write) x代表可执行(execute)。 要注意的是: 这三个权限的位置不会改变,如果没有权限,就会出现减号 -而已。 三个一组每一组表示一种权限: Linux 快速入门:基础命令集合 这九个字符是三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

 r:4     w:2         x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:

[-rwxrwx---] 分数则是: owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= - - - = 0+0+0 = 0 chmod 770 文件名 设值文件的权限: 拥有者/同组用户 具有:读写操作(权限)

chgrp: 修改文件属性

 chmod [-R] u+权限,g+权限,o+权限 文件/目录
 chmod [-R] 权限值 文件或目录
 #-R: 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

Linux 快速入门:基础命令集合

Linux 文件内容查看

 cat             由第一行开始显示文件内容
 语法:
 cat [-AbEnTv] 文件名
     -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已
     -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
     -E :将结尾的断行字节 $ 显示出来
     -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同
     -T :将 [tab] 按键以 ^I 显示出来
     -v :列出一些看不出来的特殊字符
 ​
 ​
 tac             从最后一行开始显示,可以看出tac 是cat 的倒着写!
 语法:
 tac [-AbEnTv] 文件名
 ​
 ​
 nl  显示的时候,顺道输出行号!
 语法:
 nl [-bnw] 文件名
     -b :指定行号指定的方式,主要有两种:
         -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
         -b t :如果有空行,空的那一行不要列出行号(默认值);
     -n :列出行号表示的方法,主要有三种:
         -n ln :行号在荧幕的最左方显示;
         -n rn :行号在自己栏位的最右方显示,且不加 0 ;
         -n rz :行号在自己栏位的最右方显示,且加 0 ;
     -w :行号栏位的占用的位数。
 ​
 ​
 more            一页一页的显示文件内容,在 more 这个程序的运行过程中,你有几个按键可以按的:
 语法:
 more  文件名
 在 more 这个程序的运行过程中,你有几个按键可以按的:
     空白键 (space):代表向下翻一页;
     Enter     :代表向下翻『一行』;
     /字串     :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
     :f      :立刻显示出档名以及目前显示的行数;
     q       :代表立刻离开 more ,不再显示该文件内容。
     b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
 ​
 ​
 less            与more 类似,但是比 more 更好的是,他可以往前翻页!
 语法:
 less  文件名
     空白键  :向下翻动一页;
     [pagedown]:向下翻动一页;
     [pageup] :向上翻动一页;
     /字串   :向下搜寻『字串』的功能;
     ?字串   :向上搜寻『字串』的功能;
     n     :重复前一个搜寻 (与 / 或 ? 有关!)
     N     :反向的重复前一个搜寻 (与 / 或 ? 有关!)
     q     :离开 less 这个程序;
 ​
 ​
 head  取出文件前面几行
 语法:
 head [-n number] 文件
 选项与参数:-n 后面接数字,代表显示几行的意思!默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:
 head -n 20 文件
 ​
 ​
 tail  取出文件后面几行
 语法:
 tail [-n number] 文件
 默认的情况中,显示最后 10 行!    tail 文件    显示文件后十行!

Linux 文件编辑命令Vi

vi:Linux一款功能强大的全屏幕文本编辑器: vi命令

 打开文件:     vi [文件名]                如果文件名不存在,创建文件编写~
 进入编辑模式: i,a
 退出编辑模式: 按下 Esc 键
 进入命令模式: “:”
 保存并退出:   wq或x
 退出但不保存: q!
 保存          w

Linux 快速入门:基础命令集合Linux 快速入门:基础命令集合

Linux用户/用户组

用户是指操作系统的实际操作者 用户组是具有相同特征的用户的集合体 Linux中每一个用户,都属于一个用户组:root用户:Linux系统权限最高的用户

**id**:查看当前用户UID和GID 
**whoami**:查看当前登录用户 
**groups**:查看当前用户所属分组 
**useradd [用户名]** :添加用户 
**useradd –u [UID] 用户名**:添加用户并指定UID 切换到指定用户:
**`su [用户名]`**


**passwd [用户名]** :修改用户密码 
**userdel [用户名]** :删除用户 
**usermod –l [新用户名](#)**:修改用户登录名 
**usermod –g [新组名称](#)**:修改用户所属分组 
**groupadd [组名]** :添加分组 
**groupadd –g [组GID](#)**:添加分组并指定GID

对应Linux 中用户和用户组的概念, 本人并没有太多了解, 但是我指定: root用户最牛批!

拓展:Linux 链接概念

Linux 链接分两种 : 一种被称为硬链接(Hard Link) 另一种被称为符号链接软连接(Symbolic Link)。

clear Linux清屏幕

Linux进程和程序

什么是进程? 进程是程序运行的动态描述,进程程序生命周期 (对于一个标准程序员进程是啥不用解释了吧..)

这儿简单介绍一下,毕竟本人不是专业滴~ Linux查看进程:ps -ef|grep [进程标识] Linux 快速入门:基础命令集合 停止进程:Kill -9 [PID] 指定进程 pid 杀死进程! 实例:

ps –ef 查看所有进程: 在ifconfig的输出里寻找192.168字符串 ifconfig | grep 192.168 查找和java相关的进程 ps -ef | grep java 查找和3306相关的信息 ps -ef | grep 3306


kill 2868 杀掉2868编号的进程 kill -9 2868 强制杀死进程