** Linux基本操作常用命令(二)

** 用户名与主机名

当你进入Linux终端时,你会看到如下样式的图片:

 
 

其中[z@z01]方括号内的z表示当前系统登录操作的用户名,@后的z01表示当前主机名,每个人的情况不一样,默认的主机名是:localhost

那么下面我们首先来看一下在CentOS 7中如何修改主机名

* 查看/修改 主机名

查看:hostname,如图:

 
 

切换到root用户下:

临时修改方式:hostname + 名称,例如:hostname z01

持久修改方式:vi /etc/hostname,直接修改hostname配置文件,就类似于在记事本中修改,修改完毕保存退出即可。

临时修改会在系统重启后复原,持久修改不会因为系统重启而失效。持久修改需要重启一下系统,使用reboot命令。

** 用户和用户组

* 使用命令:cat /etc/passwd来查看当前用户及用户组,出现了如下内容:

 
 

这里我们以最后一行数据来作为例子解释,因为这一行代表了当前用户,即:

z:x:1000:1000:z:/home/z:/bin/bash

解释:

(1):用户名。

(2):密码(已经加密)

(3):UID(用户标识),操作系统自己用的

(4):GID组标识。

(5):用户全名或本地帐号

(6):开始目录

(7):登录使用的Shell,就是对登录命令进行解析的工具。

** 用户操作

创建用户:useradd username

删除用户:userdel -r username(-r表示连带用户目录一起彻底删除)

创建用户组:groupadd groupname

删除用户组:groupdel groupname

修改用户密码:passwd username

回显输入内容:echo

例如:
echo '123456' | passwd --stdin username

该指令意思为:修改密码为123456,并显示该密码

切换用户:su username或su - username

(加“-”,表示切换用户时,连同环境变量,工作目录一同切换,不加“-”反之)

** 目录/文件权限

文件或目录的权限是个什么东西,请大家自行百度。再此不废话,直接展示如何操作权限。

首先,使用ls -l命令,来查看当前目录下的子文件/子目录权限,如图:

 
 

1、结构以及字母含义

drwxr-xr-x

该系列字母,可以拆分为:

d

rwx

r-x

r-x

四个部分,下面依次解释

2、字母表示(r的意思为可读,w为可写,x为可执行,-为非的意思,即如果字母换成了-,就是)

第一段:d:代表data目录,一个占位符

第二段:rwx:表示所有者(user,u)

第三段:r-x:表示所属组(group,g)

第四段:r-x:表示其他人(other,o)

r:读,比如命令,cat,haed,more,tail

w:写,比如命令,mkdir,touch,vi,vim,rm,cp,mv等等

x:执行,比如命令,cd

3、数字表示,相加运算

比如:d755

r:用数字4表示

w:用数字2表示

x:用数字1表示

4、修改权限

chmod,例如:

添加:

chmod u+x program

chomd 777 program

chmod g+x,o+x program

解释:u+x意思为,所有者,添加新的“可执行(x)”权限,以下以此类推。

批量操作:

chomd u+rwx,g+rwx,o+rwx zz1.txt zz2.txt

解释:修改zz1.txt和zz2.txt文件的权限为这个:u+rwx,g+rwx,o+rwx

5、修改文件/目录所有者

尖叫提示:修改所有者,尽量在root权限下操作。

修改所有者:

chown root /home/xxx/abc,解释:即修改abc所有者为root

修改所属组:

chgrp root /home/xxx/abc,解释:即修改abc所属组为root

同事修改所有者及所属组:

chown root:root /home/xxx/abc,解释:即修改abc所有者及所属组为root

** 关机重启命令

1、关机:init 0, shutdown 先结束其他进程,再关机

2、重启:init 6, reboot 先执行其他程序的shell关闭脚本,再重启

** 管道符、追加/覆盖符

1、管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

例如:

cat /etc/passwd | more

2、过滤,“grep”,表示过滤筛选

例如:

cat /etc/passwd/ | grep 'root'

解释:查看所有带有root关键字的行

再例如:

ifconfig | grep '192.168'

解释:查看所有带有192.168关键字的内容

(尖叫提示:并不是所有的命令都可以放在管道符后边)

3、追加/覆盖

追加:>>,把前面命令输出的结果追加到后面某个文件中

覆盖:>,把前面命令输出的结果覆盖到后边某个文件中

例如:

cat /etc/passwd >> zz.txt

4、统计命令

统计命令:wc,统计单词,字符,行数等,支持管道符

例如:

ifconfig | wc -l

解释:查看有多少行

显示进程:ps,显示当前系统运行的进程,类似于任务管理器

例如:

ps -ef | wc -l

解释:查看当前有多少个进程

** 搜索命令

搜索命令:find,会大量消耗系统资源。直接举例阐述该命令:

文件名查找:

全盘查找:find / -name vm

模糊查询带有关键字的文件名:find /etc/ -name *vm*

查找关键字开头的:find /etc/ -name init*

*号:通配符,匹配任意的字符串

?号:匹配单个字符,例如:find /etc/ -name init???

(尖叫提示:如果不想区分大小写,按照文件名进行查找,使用-iname)

---------------------------------------毫无用处的分割线---------------------------------------------

文件大小查找:

size:根据文件大小搜索(在linux中一个数据块大小为512byte)

指定方式:+,-,没有符号表示等于

例如:

100M文件的查找:

find / -size +数据块数量(即100M除以512byte,记得换算单位,即:100 * 1024 * 1024 / 512)

所有者/所属组查找

例如:

find /root/ -user root

find /root/ -group root

文件类型查找

find /etc/ -name init* -type f:查找文件

find /etc/ -name init* -type d:查找目录

** 磁盘管理(切换到root用户下操作)

1、fdisk -l:查看系统所有设备情况,如图:

 
 

2、sda代表系统中的第一块硬盘

3、sda1,sda2表示硬盘中 第一个,第二个分区

4、硬盘接口:SATA,SAS,IDE,SCSI等

(尖叫提示:HDA是使用了IDE接口的硬盘名称,SDA是sata的硬盘接口名称,在2.6.19内核中,所有硬盘都叫SDA了)

(尖叫提示:IDE,即integrated drive electronics,把盘体和控制器集成在一起)

(尖叫提示:SATA,即serial ATA,即,serial advanced technology attachment)

具体含义区别以及解释请自行百度,不是此章重点

5、cylinders:磁柱,简单理解:磁柱是硬盘分区的依据。可以分割成大小不等的许多柱面,而这些柱面的起始之间就是一个一个的分区,在linux里是sdb1,sdb2 .....等;在windows里是C盘,D盘等。

6、设置分区:fdisk /dev/sdb 设置第二块硬盘

7、添加一个新的分区:

例如:

n add a new partition

8、主分区和扩展分区

一般而言,主分区个数 + 拓展分区个数 <= 4

企业用法一般:3主分区 + 1扩 或 2主 + 1扩

(尖叫提示:扩展分区不能直接拿来使用,需要对扩展分区进行逻辑分区,而主分区格式化后可以直接使用)

9、格式化分区

文件系统:ext1,2,3,4

用法:mkfs.ext4 /dev/sdb5

10、挂载(临时挂载)

用法:mount /dev/sdb5/ /mnt(即挂载点,访问磁盘的唯一入口,挂载点必须存在)

查看是否挂载:df -h

11、挂载(永久挂载)

用法:

vi /etc/fstab

添加:

/dev/sdb5             /mnt               ext4          defaults         0  0

** man帮助命令

1、查看命令的帮助信息

2、查看配置文件的帮助信息

例如:

man ls,即教你怎么使用ls命令

** sudo权限

1、操作的对象是系统命令

2、切换到root用户下,使用命令:visudo

3、root                 ALL=(ALL)                    ALL

解释:

root:用户

ALL=(ALL):被管理主机地址(使用的身份)

ALL:授权的命令

4、whereis shutdown,查看shutdown命令位置,如图:

 
 

5、配置shutdown的sudo权限

z              ALL=/usr/sbin/shutdown -r now

配置完成后,就可以在普通用户下这样使用了:

sudo shutdown -r now

6、配置所有命令的sudo权限

z             ALL=(ALL)               NOPASSWD:ALL

(尖叫提示:NOPASSWD:ALL即:不用密码)

** 解压命令

压缩格式:.gz

压缩:gzip只能压缩文件,不能压缩目录

解压:gunzip

(尖叫提示:解压后不保留源文件)

压缩格式:.tar

压缩:可以压缩文件或目录

参数:

-c:建立一个压缩文件(create)

-x:解开一个压缩文件

-t:查看tarfile里面的文件

-f:使用档名,在f之后要立即接档名,不可再加参数

例如:

tar -cvf zzzz.tar Desktop/

gzip zzzz.tar

解释:压缩Desktop目录为zzzz.tar文件,再使用gzip压缩zzzz.tar为zzzz.tar.gz文件

解压:tar

例如:

tar -zxf zzzz.tar.gz -C Desktop/

解释:解压zzzz.tar.gz文件到Desktop目录

** Linux下配置JDK环境变量

1、Linux的JDK下载:

链接:http://pan.baidu.com/s/1jIQGem6 密码:enyj

2、在/opt/目录下创建两个目录

modules和software

3、使用FileZilla Client这个软件上传JDK压缩包至/opt/software/目录

4、解压:tar -zxf jdk-8u121-linux-x64.gz -C /opt/modules/,即解压到/opt/modules/目录

5、修改配置文件:vi /etc/profile

在末尾加上:

##JAVA_HOME

JAVA_HOME=/opt/modules/jdk1.8.0_121

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

6、使配置文件生效:source /etc/profile

7、查看是否配置成功:

java -version 以及 javac

(尖叫提示:由于CentOS 7中有自带的openJDK,以此时的java -version显示的并不是你配置的版本,所以此时,我们讲解一下如何卸载系统自带的OpenJDk)

** 卸载OPEN JDK

1、查看自带的open jdk的安装位置

rpm -qa | grep 'java'

2、依次删除带有java关键字的安装包,即:

rpm -e --nodeps java-xxx.xxx.xxx.xxx

(尖叫提示:--nodeps意为强制操作)

** 克隆虚拟机

1、关闭虚拟机中需要克隆的系统,即:

 
 

2、依次点击标签栏:虚拟机--管理--克隆,出现如下对话框:

 
 

3、下一步,选择“虚拟机中的当前状态”,即:

 
 

4、选择创建完整克隆,即:

 
 

5、新建虚拟机名称,出来的默认界面是这样的:

 
 

修改名称和位置,例如:

 
 

6、点击完成,就出现了如下界面,稍需等待,就克隆成功了:

 
 
 
 
 
 

7、克隆完成之后,启动该虚拟机,因为是克隆过来的,所以和第一台虚拟机一模一样,那么我们需要修改如下内容:

(尖叫提示:记得切换到root用户下操作)

* hostname主机名,修改方式:

vi /etc/hostname

* 修改网络配置

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736,如图:

 
 

将红框内的IP地址从第一台虚拟机的192.168.122.200改为192.168.122.202,因为这是我克隆的第三台,可能是你克隆的第二台,你改为别重复的即可。建议按照一定顺序递增即可。修改完毕记得保存退出。

* 修改Linux主机映射

命令:vi /etc/hosts,修改为如图即可:

 
 

如果z01虚拟机没有设置过该选项,可以手动设置下。方法如上。

* 修改windows系统中的hosts主机名映射,即添加最后一条,如图:

(尖叫提示:hosts文件位置:C:\Windows\System32\drivers\etc)

 
 

因为我直接克隆了2台出来,配置方式是一样的,学会之后自己克隆一台,再克隆一台即可。

* 重启虚拟机

在root用户下,使用reboot now命令重启虚拟机即可,重启完毕后,就可以使用SecureCRT软件连接该虚拟机了。

 
 

** 总结

操作命令你只需要操作一遍即可(操作一遍很有必要),因为后边开发过程可能会反复用到,脑海里留个印象,需要用到的时候反复查阅,自然会记住,理解也会更加通透。


个人微博:http://weibo.com/seal13

QQ大数据技术交流群(广告勿入):476966007


作者:Z尽际
链接:https://www.jianshu.com/p/b70e16e32c50
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Linux基础02的更多相关文章

  1. Linux基础 -02

    3.4 虚拟机快照技术 什么是快照 3.5 虚拟机克隆技术 什么是克隆 4.Bash Shell快速入门 4.1 什么是Bash Shell bash shell是一个命令解释器,主要负责用户程序与内 ...

  2. 《前端运维》一、Linux基础--02用户与权限

    其实说真的,这些基础挺枯燥的,内容呢绝大多数都是些静态的. 上一篇文章我们学习了基本的指令和vim编辑器的操作方法.这篇文章我们主要来学习下Linux中用户的概念和权限相关的知识. 一.用户与用户组 ...

  3. Linux基础(02)MakeFile的创建和使用

    makefile是生成文件的脚本 , 把当前文件下的.c文件生成.o文件和可执行程序 SRC = $(wildcard *.c) OBJS = $(patsubst %.c,%.o,$(SRC)) C ...

  4. Linux基础命令-02

    Linux基础命令-02:

  5. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  6. 运维之Linux基础(二)

    运维之Linux基础(二) 1. file 命令基期用法 2. 文件系统 Linux的文件系统结构是树状结构,所有的文件都在/root跟目录下 /boot:系统启动相关的文件, 如:内核.initrd ...

  7. 大数据学习之Linux基础01

    大数据学习之Linux基础 01:Linux简介 linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹 在1991年10月5日首次发布.,在加上用户空间的应用程序之后 ...

  8. Linux基础知识第八讲,系统相关操作命令

    目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...

  9. Linux基础知识第七讲,用户权限以及用户操作命令

    目录 Linux基础知识第七讲,用户权限以及用户操作命令 一丶简介linux用户,用户权限,组的概念. 1.1 基本概念 1.2 组 1.3 ls命令查看权限. 二丶用户权限修改命令 1.chmod ...

随机推荐

  1. ubuntu软件卸载方法

    一.查看软件包 1.查看已安装的软件包 dpkg --list 2.查看不知道要删除软件的具体名称 dpkg --get-selections | grep <软件相关名称> 二.卸载 1 ...

  2. border-spacing和borer-collapse以及empty-cells属性

    1.border-spacing 用于设置表格中,单元格之间的间隙 示例1:border-spacing: 7px: 单元格水平方向7px间隔,垂直方向7px间隔 示例2:border-spacing ...

  3. update没带where,寻找问题的思路

    数据库版本:5.6.16 前几天,在测试环境中,不知道为什么突然之间,所有的一个字段值全部变成了12,需要将备份还原后开发重新清理垃圾数据并开始测试. 在开发提供 SQL语句的情况下,能否查到是谁做了 ...

  4. 杭电 2639 Bone Collector II【01背包第k优解】

    解题思路:对于01背包的状态转移方程式f[v]=max(f[v],f[v-c[i]+w[i]]);其实01背包记录了每一个装法的背包值,但是在01背包中我们通常求的是最优解, 即为取的是f[v],f[ ...

  5. EFCore笔记之查询数据

    查询数据 基础查询,Linq100实例: https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b using (var context = ...

  6. javscript中变量的作用域和提升

    示例: var a = 1; function foo() {   if (!a) {     var a = 10;   }    alert(a); }; foo(); 上面这段代码在运行时会产生 ...

  7. Java Mail解决标题乱码问题

    在Java实现发送邮件功能时,直接使用 message.setSubject(subject) 的方式设置标题,在本地测试发送邮件的中文标题可以正常显示,但是将项目部署到服务器后,发送邮件的中文标题就 ...

  8. 问题请教:关于同一个POD中多容器的广播信息问题

    广大博友好,最近在K8S集群中遇到一个问题,贴出来同大家分享一下 同一个POD中多个容器 如何处理广播信息? 经测试 同一个POD中当先启动的容器占用广播端口后,其他的容器启动就会报bind erro ...

  9. 路飞学城Python-Day23(practise)

    本章总结 练习题 什么是C/S架构? 互联网协议是什么?分别介绍五层协议中每一层的功能? 基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 为何基于tcp协议的通信比基于udp协 ...

  10. css——应用多个样式

    应用多个样式 在class中使用多个样式 在这是会有优先级关系问题 在上面的代码中,aa,bb,中的颜色会有冲突,到底显示的结果会是黄色还是绿色呢? 结果是绿色的.它是以程序执行的先后为优先级,后执行 ...