Linux随身笔记

Linux随身笔记

1.Linux概述

Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日(第一次正式向外公布),由芬兰学生
Linus Torvalds和后来陆续加入的众多爱好者共同开发完成。
Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程
各种工具和数据库的操作系统。

1.1Linux版本

Linux 的版本继承了 Unix 的版本定制规则,分为内核版本和发行版本
内核版本:内核就是一个核心,其他软件都基于这个核心,不能直接使用,内核版本统一在 http://www.linux.org
发布
发行版本:由各个 Linux 发行商发布,Linux 发行商有权选择 Linux 的内核版本。常见的 Linux 的发行版本:
RedHat、CentOS、Debian、Ubuntu
内核版本分为稳定版和开发版,区分方式是根据次版本的奇偶判定,奇数为开发版,偶数为稳定版

2.安装Linux虚拟机
2.1 安装虚拟机软件

什么是虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整
计算机系统。






2.2安装Centos 7系统

























3.配置静态IP

配置网络的目的主要是为了固定虚拟机的内网IP,方便我们在真实的操作系统中使用Linux连接工具软件进行远程连
接。
1.关闭虚拟机
2.点击编辑,选择倒数第二个选项“虚拟网络编辑器器”,出现下面的“虚拟网络编辑器器”窗口。选择NAT模式, 注意
子网IP前三位与NAT设置的网关IP、DHCP网段一致

设置NAT

设置DHCP范围

2.3.进入操作系统配置网卡信息

执行命令
vi /etc/sysconfig/network-scripts/ifcfg-ens33
进入编写该文件模式,按i进入编辑模式
修改为:

BOOTPROTO=static
ONBOOT=ues
IPADDR=192.168.142.111
NETMASK=255.255.255.0
GATEWAY=192.168.142.2
DNS1=8.8.8.8

写完后保存退出
按esc进入命令模式
输入:wq保存并退出

2.4.重启执行命令重启网卡服务

systemctl restart network

2.5.检查IP是否改变

命令:ip addr

2.5 测试网络是否连通

命令:ping www.baidu.com

这样表示连接成功
按ctrl+c退出

4.给虚拟机进行快照

快照其实就是还原点,我们设置了快照。以后如果被我们玩坏了,也可以快速的还原到以前状态!
VMware快照

5.远程连接工具

主要功能是向Linux系统远程发送命令
Xshell:目前最好用
SecureCRT:收费
Putty:早就停止维护了,很多东西支持的很差。但因为习惯依旧很多人支持

6.Linux常用命令
6.1常用快捷键
  1. tab键:命令或者路径提示及补全;
  2. ctrl+c:放弃当前输入,终止当前任务或程序;
  3. ctrl+l:清屏;
  4. ctrl + insert:复制;
  5. 鼠标右键:粘贴;
  6. alt+c :断开连接 / ctrl + shfit + R 重新连接
  7. alt+1/2/3/4/5… :切换会话窗口
  8. 上下键:查找执行行过的命令,或者是history命令
6.2终端命令格式

command [-options] [parameter]

command : 命令名, 相应功能的英文单词或单词的缩写

[-options] : 选项, 可用来对命令进行控制, 也可以省略

parameter : 传给命令的参数, 可以是 零个、一个 或者 多个

6.3常用命令
序号命令对应作用
01lslist查看当前目录下的内容
02pwdprint working derectory查看当前所在文件夹
03cd [目录名]change directory切换文件夹
04touch [文件名]touch如果文件不存在, 新建文件
05mkdir [目录名]make directory创建目录
06rm [文件名]remove删除指定的文件名
07clearclear清屏
6.4目录操作命令

Linux中并没有文件夹的概念,应该叫目录。

6.4.1切换目录

cd(change directory) 功能: 切换目录
pwd(print work directory) 功能: 显示当前工作目录

pwd:查看当前所在路径
cd:切换目录
  1. cd … :切换到上级目录
  2. cd - :后退到上一次所在目录
  3. cd / :去根目录
  4. 绝对路径:/开始的目录,从根目录开始
  5. 相对路径:直接目录,从当前目录开始

6.4.2查看目录内容

ls(list)   功能:列出目录内容
  a(all)   功能:所有
  h(human) 功能:人性化的显示(单位:K、G等)

  • ls:查看目录下的内容:

* ls -a : 查看全部内容,包含隐藏文件
  * ls -l : 查看内容的详细信息,效果等同于 ll命令
  * ls -lh: 以人能读懂的方式显示文件大小

6.5创建文件

通过 touch 命令 创建文件

第一步: 创建一个空白文件

touch 不存在的文件

第二步: 修改文件的末次访问时间

touch 存在的文件

案例
[root@linux121 ~]# touch test.txt

6.6创建目录命令

通过 mkdir 命令 创建目录

基本语法
mkdir [-p] 要创建的目录

选项英文含义
-pparent可以递归创建目录

案例

[root@linux121 ~]# mkdir test
[root@linux121 ~]# mkdir -p test/test1

注意:[通过 mkdir -p 目录名 命令 创建目录, 新建目录的名称 不能与当前目录中 已有的目录或文件同名]

6.7rmdir 删除一个空的目录

基本语法: rmdir 要删除的空目录,remove 即移除

案例

[root@linux121 ~]# mkdir test2
[root@linux121 ~]# rmdir test2

注意:如果该目录中存在文件或其他目录是该命令是不能删除的.

6.8touch创建文件和rm 删除文件
6.8.1创建文件的命令

touch 文件名称

注意事项:
touch 文件名1 文件2 .. 可以创建多个文件

6.8.2删除命令

语法
rm [-参数] 文件/目录 (功能描述:递归删除目录中所有内容)慎用

通过 rm -rf 文件/目录 命令实现删除 文件和目录的功能, rm 对应的英文是 remove 含义: 删除

参数英文含义
-fforce (强制)强制删除,忽略不存在的文件, 无需提示
-rrecursive (递归)递归地删除目录下的内容, 删除文件夹 时必须加此参数

文本操作指令:

*  touch 文件名 :创建文件

* rm:删除文件或目录

* rm 文件名:删除一个文件
     * rm -f 文件名:不经确认就删除文件
     * rm -r 目录:递归删除一个目录及目录中的内容
     * rm -rf 目录: 递归删除一个目录,不经确认
     * rm -rf :清空当前文件夹
     * **rm -rf /
:自杀行为,不要尝试**

案例:

1)删除空目录
[root@linux121 test]# rmdir test1
2)递归删除目录中所有内容
[root@linux121 test]# rm -rf test2
6.9cp 复制拷贝命令

通过 cp 实现复制将指定的 文件 或 目录 复制到 两一个 文件 或 目录中

基本语法:

(1)cp source dest (功能描述:复制source文件到dest)
(2)cp -r sourceFolder targetFolder (功能描述:递归复制整个文件夹)
命令英文作用
-rrecursive (递归)递归复制目标目录的内容

案例:

(1)复制文件
[root@linux121 opt]# cp test.txt test1.txt
(2)递归复制整个文件夹
[root@linux121 opt]# cp -r abc /tmp
6.10mv (move)

通过 mv 命令可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名
基本语法:

(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:递归移动文件)

案例:

1)重命名
[root@linux121 test]# mv file1 file11 (把file1文件夹改名为file11)
2)移动文件
[root@linux121 test]# mv file11 test (把file11文件夹放到test文件夹内
6.11cat 查看文件内容

查看文件内容,从第一行行开始显示。
 
基本语法

cat [选项] 要查看的文件

选项
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行行字节 $ 显示出来;
-n :列出行号,连同空白行也会有行号,与 -b 的选项不不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
-A :相当于 -vET 的整合选项,可列列出一些特殊字符而不不是空白而已;

6.12more 查看文件内容

查看文件内容,一页一页的显示文件内容。

基本语法:
more 要查看的文件

功能使用说明:
空格键 (space):代表向下翻一页;

Enter:代表向下翻『一行』;

q代表立刻离开 more ,不再显示该文件内容。

Ctrl+F 向下滚动一屏

Ctrl+B 返回上一屏

= 输出当前行的行号

案例:

[root@linux121 test1]# more test1.java

6.13less 查看文件内容

less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用[pageup] [pagedown]往回
滚动。

基本语法:

less 要查看的文件

功能使用说明

空格键 :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup] :向上翻动一页;

/字符串 :向下搜寻『字符串』的功能;n:向下查找;N:向上查找;

q :离开 less 这个程序;

案例

[root@linux121 test1]# less test1.java

6.14head查看文件内容

查看文件内容,只看头几行,优点:对于大文件不必都加载,只显示头几行行即可。

基本语法:

head 文件名 :查看前10行 
 
head -n 3 文件名 :查看文件的前3行 
 
head -c 3 文件名 :查看文件的前3个字符 
6.15tail 查看文件内容

查看文件内容,只看尾巴几行行,优点:可以查看文件实时追加的内容。

基本语法

(1)tail -n 10 文件 (功能描述:查看文件头(从末尾开始数)10行行内容,10可以是任意行行数) 
(2)tail -f 文件 (功能描述:实时追踪该文档的所有更更新) 

案例

tail -10 文件名 
tail -f 文件名 
tail -10f 文件名 (ctrl + c 是退出)  
6.16组合命令

Linux中的命令组合后,可以产生神奇的效果!
append 追加
replace 替换,覆盖

重定向输出>和>>

重定向输出;

重定向输出,又追加功能
示例:

cat /etc/passwd > a.txt 将输出定向到a.txt上
cat /etc/passwd >> a.txt 输出并且追加

echo 控制台输出的内容 (类似sout)

管道 “|”

管道符号| 的作用是: 将一个命令的输出作为另一个命令的输入.

配合使用的命令

ps(Process Status) 进程状态 ps -ef 
grep(Global Regular Expression Print) 全局正则表达式版本(搜索) 

逻辑控制&&

./startup.sh && tail -100f catalina.out

6.17history查看所敲命令历史

基本语法:

history

案例
[root@linux121 test]# history

6.18打包和解包命令

打tar包

打包之后的大文件 需要以 .tar 结尾.

tar 打包命令格式


# 将 一系列文件 打包成 一个大文件
tar -cvf 打包名.tar 被打包的目录
tar -cvf 打包名.tar 被打包的文件1 被打包的文件2 被打包的文件3

tar 选项说明

命令英文含义
ccreate生成档案文件, 创建打包文件
vverbosely(啰嗦的)像 ‘唐僧’ 一样报告进度
ffile指定档案的文件名称, f后面一定是 .tar 文件, 所以必须放到左后
6.19解tar包

tar 解包命令格式

 
解包: tar -xvf 打包之后的文件名.tar [ -C 指定解包位置 ] 
# 将一个打包后的 分解成 一系列小文件, 分解位置为 当前目录
tar -xvf 打包名.tar
 
# 将一个打包后的 分解成 一系列小文件, 分解位置为 指定目录
tar -xvf 打包名.tar -C 解包路径位置
命令英文含义
xextract (提取)解包
C (大写C)directory (目录)默认保存到当前目录, 通过 -C 更改解压目录, 注意: 解压目录必须存在

小结

打包: tar -cvf 打包之后的文件名.tar 被打包的目录或文件名 
 
解包: tar -xvf 打包之后的文件名.tar [ -C 指定解包位置 ]

6.20gzip格式 压缩 和 解压缩

打包 和 压缩 是两件事

类似与 先将冬天衣服放到压缩袋, 再抽取里面的空气

在 Linux 中, 最常用的压缩文件格式是 xxx.tar.gz

在 tar 命令中有一个选项 -z 可以调用 gzip , 从而可以方便的实现压缩和解压缩的功能

命令格式如下

# 压缩文件 
tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录 

# 解压缩文件 
tar -zxvf 打包文件.tar.gz 

# 解压缩到指定路径 
tar -zxvf 打包文件.tar.gz -C 目录路径 

tar 的选项说明

命令英文含义
zgzip使用gzip压缩和解压缩
jbzip2使用bzip2压缩和解压缩
6.21bzip2 格式 压缩 和 解压缩

bzip 是压缩的第二种方式

类似与 先将冬天衣服放到压缩袋, 再抽取里面的空气

在 Linux 中, bzip2 压缩文件格式是 xxx.tar.bz2

在 tar 命令中有一个选项 -j 可以调用 bzip2 , 从而可以方便的实现压缩和解压缩的功能

命令格式如下

# 压缩文件 
tar -jcvf 打包压缩文件名.tar.bz2 被压缩的文件/目录 
 
# 解压缩文件 (绩效潍坊) 
tar -jxvf 打包文件.tar.bz2 
 
# 解压缩到指定路径 
tar -jxvf 打包文件.tar.bz2 -C 目录路径

注意:注意事项: 如果报错tar (child): bzip2:无法 exec: 没有那个文件或目录 
要安装bzip2的包

yum install -y bzip2

tar 的选项说明

命令英文含义
zgzip使用gzip压缩和解压缩
jbzip2使用bzip2压缩和解压缩
打包压缩: tar -jcvf 打包之后的文件名.tar.bz2 被打包压缩的目录或文件名 
 
解包解压缩: tar -jxvf 打包之后的文件名.tar.bz2 [ -C 指定解包位置 ]
6.22时间日期

6.22.1date 显示当前时间

基本语法:注意命令与参数之间有空格

(1)date (功能描述:显示当前时间) 

(2)date +%Y (功能描述:显示当前年年份) 

(3)date +%m (功能描述:显示当前月份) 

(4)date +%d (功能描述:显示当前是哪一天) 

(5)date +%Y%m%d … (功能描述:显示当前年年月日各种格式 ) 

(6)date "+%Y-%m-%d %H:%M:%S" 或者单引号也可以 (功能描述:显示年年月日时分秒)

6.22.2date显示非当前时间

显示的是字符串串描述的时间,不是当前时间。

基本语法:

(1)date -d '1 days ago' (功能描述:显示前一天日期) 
 
(2)date -d yesterday +"%Y-%m-%d"(同上) 
 
(3)date -d next-day +"%Y-%m-%d" (功能描述:显示明天日期) 
 
(4)date -d 'next monday' (功能描述:显示下周一时间)

6.22.3设置系统时间
基本语法:
date -s 字符串时间

6.22.4cal查看日历

基本语法:
cal [选项] (功能描述:不加选项,显示本月日历)
选项:
-3 ,显示系统前一个月,当前月,下一个月的日历 具体某一年年,显示这一年年的日历。

6.23搜索查找

6.23.1find 查找文件或者目录

find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

基本格式:

find path [options]

按照文件名查找

(1)find /etc -name yum.conf  #在/etc目录下文件yum.conf 

(2)find /etc -name 'yum'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘yum’的文件

(3)find . -name 'yum*'   #表示当前目录下查找文件名开头是字符串‘yum’的文件  

按照文件特征查找

(1)find / -atime -2   # 查找在系统中最后48小时访问的文件 (Access Time,文件读取访问时间) 

(2)find / -empty      # 查找在系统中为空的文件或者文件夹 

(3)find / -group susan   # 查找在系统中属于group为susan的文件 

(4)find / -mtime -1   #查找在系统中最后24小时里修改过的文件 (modify time) 

(5)find / -user susan   #查找在系统中属于susan这个用户的文件 

(6)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB) (7)find / -size -1000k   #查找出小于1000KB的文件 

使用混合查找方式查找文件

参数有: !,-and(-),-or(-o)

(1)find /tmp -size +10c -and -mtime +2   #在/tmp目录下查找大于10字节并在最后2分钟内修改的文件 

(2)find / -user root -or -user susan    #在/目录下查找用户是root或者susan的文件文件 

(3)find /tmp ! -user susan     #在/tmp目录中查找所有不属于susan用户的文件

grep 过滤查找

grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

基本格式:

grep [options] 范围

主要参数

[options]主要参数:     
  -c:只输出匹配行的计数。     
  -i:不区分大小写     
  -n:显示匹配行及行号。      
  -w:显示整个单词      
  -r:递归查询

6.24vi编辑器

在Linux下一般使用vi编辑器来编辑文件。

vi既可以查看文件也可以编辑文件。

而vim是vi的升级版本,具备更多的功能.

vi如果目标文件不存在,会创建新的文件。但是如果新文件没做编辑,退出后还会消失。

vi的三种模式介绍

编辑模式(插入模式):对文本进行输入和修改

底行模式:退出vim或者查找、替换功能

命令模式(一般模式):通过快捷命令操作数据,打开vi默认就是命令模式

注意:

如果vim命令不能使用需要安装:

yum -y install vim-enhanced

编辑模式

命令模式按下:i、o、a进入编辑模式:

i:光标不动

o:另起一行

a:光标到下一个字符

按ESC退出编辑模式,进入命令模式

底行模式

命令模式下,按‘:’或者‘/’进入底行模式,可以输入命令

1)退出vim:(重点重点重点)

:q 未编辑时退出vim

:q! 编辑后,退出并且不保存

:wq 编辑后,退出且保存

:x 编译后保存

2)撤销上次操作(扩展—一般模式下)

u    撤销上一次操作(ctrl + z windows操作)

ctrl + r   恢复上一次被撤销的操作 (ctrl + y windows操作)

3)设置行号(了解) 底行模式

:set nu 显示行号

:set nonu 不显示行号

4)替换文本(了解)

:s/old/new/ 用new替换old,替换当前行的第一个匹配

:s/old/new/g 用new替换old,替换当前行的所有匹配

:%s/old/new/ 用new替换old,替换所有行的第一个匹配

:%s/old/new/g 用new替换old,替换整个文件的所有匹配

5)查找 (一般模式)

/文本 搜索指定文本,高亮显示,按n显示下一个,按N显示前一个

:整数 快捷跳转到指定行

命令模式(一般模式)

p(pause) 将之前dd或yy的数据粘贴到光标位置

yy 复制光标所在行

5yy 复制光标及下面共5行

dd 剪切当前行

5dd 剪切光标及下面共5行

6.25用户及组管理

useradd 添加新用户

(注意:当前用户必须有添加用户的权限)

基本语法:

useradd 用户名 (功能描述:添加新用户)

案例:

[root@linux121 ~]# useradd hadoop

passwd 设置用户密码

基本语法:

passwd 用户名 (功能描述:设置用户密码)

案例

[root@linux121 ~]# passwd hadoop

id 判断用户是否存在

基本语法:

id 用户名

案例:

[root@linux121 ~]#id hadoop

su 切换用户

基本语法:

su 用户名称 (功能描述:切换用户,只能获得用户的执行行权限,不能获得环境变量)

u - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)

案例:

[root@linux121 ~]#su hadoop 

[root@linux121 ~]#su - hadoop 

userdel 删除用户

基本语法:注意区别

(1)userdel 用户名 (功能描述:删除用户但保存用户主目录) 

(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)

案例:

(1)删除用户但保存用户主目录 
[root@linux121 ~]#userdel hadoop 

(2)删除用户和用户主目录,都删除 
[root@linux121 ~]#userdel -r hadoop 

who 查看登录用户信息

基本语法

(1)whoami (功能描述:显示自身用户名称)

(2)who am i (功能描述:显示登录用户的用户名) 

(3)who (功能描述:看当前有哪些用户登录到了了本台机器器上)

设置Linux普通用户具有root权限即sudo的使用

sudo命令

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性 。

2)修改配置文件 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

vim /etc/sudoers

## Allow root to run any commands anywhere
root ALL=(ALL) ALL 
tom ALL=(ALL) ALL

使用tom用户登录,操作管理员命令

本质:使用临时管理员权限

#不切换root用户,也可以完成添加用户的功能
sudo useradd  lisi 

sudo passwd  lisi 

cat /etc/passwd 查看创建了哪些用户

cat /etc/passwd

用户组管理命令

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户 组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。 用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新

groupadd 新增组

基本语法

groupadd 组名

案例: 添加一个hadoop组

[root@linux121 ~]#groupadd hadoop

groupdel删除组

基本语法:

groupdel 组名

案例

[root@linux121 ~]# groupdel hadoop

groupmod修改组

基本语法:

groupmod -n 新组名 老组名

案例 修改hadoop组名称为hadoop1

[root@linux121 hadoop]# groupmod -n hadoop1 hadoop

cat /etc/group 查看创建了了哪些组

cat /etc/group

usermod修改用户

基本语法:

usermod -g 用户组 用户名

案例: 将用户hadoop加入mygroup用户组

[root@linux121 ~]#usermod -g mygroup hadoop

文件权限

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,
Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l
命令来显示一个文件的属性以及文件所属的用户和组。

文件权限


权限分段,每一段代表不同的用户:

属主权限:当前文件所属用户的权限,在Linux中每一个文件都有所属的用户

属组权限:当前文件的用户所在组的其它成员的权限

其它用户权限:跟文件所属用户不在同组的其它用户的权限

每一段中的内容都是一样的,分别限定:读(r=4)、写(w=2)、执行(x=1) 
 
rwx     7     具备所有权限(421) 
rw-     6     具备读写权限(420) 
r-x     5     具备读和执行权限(401) 
r--     4     具备只读权限(400) 
-wx     3     具备写和执行权限(021) 
-w-     2     具备写权限(020) 
–x     1     具备执行权限(001) 
—     0     000

文件权限管理

修改文件权限

  • chmod 修改文件权限

* chmod 755 a.txt
  * chmod u=rwx,g=rx,o=rx a.txt
  * 上面两种方式是等效的。将a.txt这个文件修改为:

* 所属用户具备所有权限:rwx=7
    * 本组用户具备读和执行权限:rx=5
    * 其他用户具备读和执行权限:rx=5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值