我是靠谱客的博主 粗犷画笔,这篇文章主要介绍Linux基本操作-初级入门,现在分享给大家,希望可以做个参考。

说明

复制代码
1
2
本文主要总结入门linux命令,可能知识点比较多,有需要者可以根据右侧目录来点击指定内容查看。

目录结构

复制代码
1
2
Linux系统中一切皆文件

vim/vi操作

复制代码
1
2
3
4
5
vi 是Unix中常用的编辑器 vim 是vi发展起来的功能更强大的文本编辑器,文字语法高亮 模式 一般模式
命令描述
yy复制一行
n yy复制n行
p粘贴
u撤销
dd删除光标当前行
n dd删除n行
shift+^移动到行首
shift+$移动到行尾
gg移动到页头
n+G移动到第n行
/word向下查找单词word
?word向上查找单词word
yy复制一行
复制代码
1
2
3
4
5
6
编辑模式 通常 vim 文件名 直接进入编辑模式 这时无法编辑文件内容,需要按下『i, I, o, O, a, A, r, R』进入编辑模式 这时屏幕左下方会出现『INSERT(插入)或 REPLACE(修改)』 如果回到一般模式 按下ESC
命令描述
i定位到当前光标前
a定位到当前光标后
o定位到当前光标的下一行
O定位到当前光标的上一行
I定位到当前光标行首
A定位到当前光标行尾
复制代码
1
2
3
4
指令模式 在一般模式当中,输入『 : / ?』3个中的任何一个,即可进入指令模式进行操作 在这个模式中,你可以对文件内容进行 搜索、显示/取消行号、替换和删除等操作
命令描述
:w保存
:q退出
:!强制执行
/word查找,n查找下一个,N向上查找
?word查找,n查找上一个,N向下查找
:set nu显示文件内容行号
:set nonu关闭文件内容行号
ZZ文件没有修改直接退出,若有内容变动直接保存退出
: s/aa/bb/将当前行第一个aa替换成bb
: s/aa/bb/g将当前行所有aa替换成bb
: %s/aa/bb/将每行第一个aa替换成bb
: %s/aa/bb/g将所有aa替换成bb
: 1,2s/aa/bb/将1,2行第一个aa替换成bb
: 1,2s/aa/bb/g将1,2行所有aa替换成bb
复制代码
1
2
模式转换

在这里插入图片描述

文件与目录结构

在这里插入图片描述

文件目录类操作命令

pwd 显示当前工作目录的绝对路径

复制代码
1
2
3
4
解释: 显示当前工作目录的绝对路径 所谓绝对路径就是以/开头的 比如:
复制代码
1
2
3
4
[cgd@hadoop102 ~]$ pwd /home/cgd

ll 列出目录的内容

复制代码
1
2
3
4
5
解释: 列出目录的内容 选项: 功能 -a 显示出全部文件(包括隐藏文件) -h 显示出文件的大小

在这里插入图片描述

ls 列出目录内容

复制代码
1
2
3
4
5
6
选项 功能 -a 全部文件(包括隐藏文件) -l 列表显示 -h 与-l配合使用显示文件大小 -d 显示指定目录下的文件信息

在这里插入图片描述

tree 树结构列出目录的内容

复制代码
1
2
3
4
5
6
7
8
9
10
11
[cgd@hadoop102 ~]$ tree ./ ./ ├── 357274201 ├── vi │ ├── ls │ │ └── test.txt -> test.txt │ └── test.txt └── zookeeper.out 2 directories, 4 files

cd 切换目录

复制代码
1
2
3
4
5
6
7
cd 切换目录 cd 绝对路径 cd 相对路径 cd ~ 回到当前用户的家目录 cd - 回到上一次所在目录 cd ../ 回到当前目录的上一级目录

在这里插入图片描述

mkdir 创建一个新的目录

复制代码
1
2
3
选项 -p 创建多级目录

在这里插入图片描述

rmdir 删除一个空目录

复制代码
1
2
3
4
[cgd@hadoop102 ~]$ rmdir d1 [cgd@hadoop102 ~]$ ls ! d2 vi zookeeper.out

touch 创建空文件

复制代码
1
2
3
4
[cgd@hadoop102 ~]$ touch file1.txt [cgd@hadoop102 ~]$ ls ! d2 file1.txt vi zookeeper.out

cp 复制文件或目录

复制代码
1
2
3
选项 -r 递归复制
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[cgd@hadoop102 ~]$ cp file1.txt d2/d3/ [cgd@hadoop102 ~]$ mkdir d4 [cgd@hadoop102 ~]$ cp -r d2/ d4/ [cgd@hadoop102 ~]$ tree . ├── 357274201 ├── d2 │ └── d3 │ └── file1.txt ├── d4 │ └── d2 │ └── d3 │ └── file1.txt ├── file1.txt ├── vi │ ├── ls │ │ └── test.txt -> test.txt │ └── test.txt └── zookeeper.out 7 directories, 7 files

rm 删除文件夹或目录

复制代码
1
2
3
4
5
选项 -r 递归删除 -f 强制执行删除操作 -v 显示指令的详细执行过程

mv 移动文件与目录或重命名

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[cgd@hadoop102 ~]$ ls d4 vi [cgd@hadoop102 ~]$ mv d4 d5 [cgd@hadoop102 ~]$ mv vi d5/ [cgd@hadoop102 ~]$ tree ./ ./ └── d5 ├── d2 │ └── d3 │ └── file1.txt └── vi ├── ls │ └── test.txt -> test.txt └── test.txt 5 directories, 3 files

cat 查看文件内容

复制代码
1
2
3
选项 -n 显示展示信息行号(包括空行)
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[cgd@hadoop102 ~]$ cat -n file.txt 1 所 2 谓 3 技 4 术 5 境 6 7 界 8 9 , 10 唯 11 有 12 不 13 知 14 15 16 道

more 文件内容分屏查看器

复制代码
1
2
more 文件名
操作功能说明
空白键 (space)代表向下翻一页
Enter代表向下翻『一行』
q退出分屏展示器more
Ctrl+F向下滚动一屏
Ctrl+B返回上一屏』
=输出当前行号
Enter代表向下翻『一行』

less 分屏显示文件内容

复制代码
1
2
less 文件名
选项说明
空格向下翻动一页
pagedown向下翻动一页
pageup向上翻动一页
/字串向下搜索;n:向下查找;N:向上查找
?字串向上搜索;n:向上查找;N:向下查找
q退出查看器

echo输出内容到控制台

复制代码
1
2
3
选项 -e 支持转义符
复制代码
1
2
3
4
5
6
7
[cgd@hadoop102 ~]$ echo "hellonworld" hellonworld [cgd@hadoop102 ~]$ echo -e "hellonworld" hello world

head 显示文件头部内容

复制代码
1
2
3
选项 -n 行数
复制代码
1
2
3
4
5
6
7
8
[cgd@hadoop102 ~]$ head -n 5 ss.txt 40920 8.326976 0.953952 largeDoses 14488 7.153469 1.673904 smallDoses 26052 1.441871 0.805124 didntLike 75136 13.147394 0.428964 didntLike 38344 1.669788 0.134296 didntLike

tail 输出文件尾部内容

复制代码
1
2
3
4
选项 tail -n 行数 文件名 输出文件后行数的内容 tail -f 文件名 实时监控文件变化内容
复制代码
1
2
3
4
5
6
7
8
[cgd@hadoop102 ~]$ tail -n 6 ss.txt 18190 2.068962 0.429927 smallDoses 11145 3.410627 0.631838 smallDoses 68846 9.974715 0.669787 didntLike 26575 10.650102 0.866627 largeDoses 48111 9.134528 0.728045 largeDoses 43757 7.882601 1.332446 largeDoses[cgd@hadoop102 ~]$

数据重定向

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
数据展示重定向到其他地方 , 比如 cat 命令查看文件内容 把展示的内容写入文件 选项 标准输入(stdin):编号为0 使用<或<< 标准输出(stdout):编号为1 使用>或>> 标准错误输出(stderr):编号为2 使用>或>> 1>:内容覆盖,将正确的数据输出到文件; 1>>:内容追加,将正确的数据输出到文件; 2>:内容覆盖,将错误输出的数据输出到文件; 2>>:内容追加,将错误输出的数据输出到文件;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
正确信息输出文件覆盖 [cgd@hadoop102 ~]$ touch file.txt [cgd@hadoop102 ~]$ ll file.txt 1>file.txt [cgd@hadoop102 ~]$ cat file.txt -rw-rw-r--. 1 cgd cgd 0 9月 30 21:27 file.txt 正确信息输出文件追加 [cgd@hadoop102 ~]$ ll file.txt 1>>file.txt [cgd@hadoop102 ~]$ cat file.txt -rw-rw-r--. 1 cgd cgd 0 9月 30 21:27 file.txt -rw-rw-r--. 1 cgd cgd 48 9月 30 21:27 file.txt 错误信息输出文件覆盖 [cgd@hadoop102 ~]$ ll file 2>file.txt [cgd@hadoop102 ~]$ cat file.txt ls: 无法访问file: 没有那个文件或目录 错误信息输出文件追加 [cgd@hadoop102 ~]$ cat file 2>>file.txt [cgd@hadoop102 ~]$ cat file.txt ls: 无法访问file: 没有那个文件或目录 cat: file: 没有那个文件或目录
复制代码
1
2
3
有些场景下 需要把几行数据追加到文件中。 cat 配合EOF使用
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[cgd@hadoop102 ~]$ touch file.txt [cgd@hadoop102 ~]$ cat <<EOF > file.txt > 覆盖第一行 > 覆盖第二行 > 结束符号 > EOF [cgd@hadoop102 ~]$ cat file.txt 覆盖第一行 覆盖第二行 结束符号 [cgd@hadoop102 ~]$ cat <<EOF >> file.txt > 追加第一行 > 追加第二行 > 追加第三行 > EOF [cgd@hadoop102 ~]$ cat file.txt 覆盖第一行 覆盖第二行 结束符号 追加第一行 追加第二行 追加第三行

ln软连接

复制代码
1
2
3
4
5
软链接也称为符号链接,类似于window里面的快捷方式 选项 创建软链接: ln -s 要链接的文件(原文件) 软连接名 删除软链接:rm -rf 软链接名

在这里插入图片描述

帮助命令

man 获得帮助信息

复制代码
1
2
3
4
用法 man 命令 参数说明
参数说明
NAME命令的名称和单行描述
SYNOPSIS使用命令
DESCRIPTION命令功能的深入解释
EXAMPLES例子
SEE ALSO相关主题
复制代码
1
2
man ls

help 获得shell内置命令的帮助信息

复制代码
1
2
help 命令
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[cgd@hadoop102 ~]$ help cd cd: cd [-L|[-P [-e]]] [dir] Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the HOME shell variable. The variable CDPATH defines the search path for the directory containing DIR. Alternative directory names in CDPATH are separated by a colon (:). A null directory name is the same as the current directory. If DIR begins with a slash (/), then CDPATH is not used. If the directory is not found, and the shell option `cdable_vars' is set, the word is assumed to be a variable name. If that variable has a value, its value is used for DIR. Options: -L force symbolic links to be followed -P use the physical directory structure without following symbolic links -e if the -P option is supplied, and the current working directory cannot be determined successfully, exit with a non-zero status The default is to follow symbolic links, as if `-L' were specified. Exit Status: Returns 0 if the directory is changed, and if $PWD is set successfully when -P is used; non-zero otherwise.

时间日期

复制代码
1
2
3
4
5
6
7
8
9
10
date 显示当前时间 选项 date +%Y 显示当前年份 date +%m 显示当前月份 date +%d 显示当前天 date +"%Y-%m-%d %H:%M:%S" 格式化输出时分秒 date -s "2020-06-03 20:25:25" 设置系统时间 cal 查看当前月日历 cal 2020 查看指定年份日历

用户管理

useradd

复制代码
1
2
3
4
5
6
选项 -d 指定家目录 -g 指定用户所属的用户组 -c comment 指定一段注释性描述 -s shell 指定用户的登录Shell。有一个特殊的shell程序叫nologin,如果某帐号使用此shell,就表示用户不允许登录,该用户通常成为伪用户。
复制代码
1
2
3
4
5
6
7
# 创建普通用户 useradd zs # 创建普通用户,指定家目录/user/zs,主组root,附加组wu,sq useradd -d /user/zs -g root -G wu,sq zs # 创建伪用户 useradd -s /sbin/nologin sq

password

复制代码
1
2
3
4
5
6
password 设置用户密码 选项 -l 锁定账号 -u 解锁账号 -d 删除密码

id 查看用户是否存在

复制代码
1
2
id zs

查看创建了哪些用户

复制代码
1
2
cat /etc/passwd

su 切换用户

复制代码
1
2
3
4
选项 su 用户名称 用户会停留在当前用户的环境 su - 用户名称 用户会切换到对应用户的环境
复制代码
1
2
3
4
5
6
7
8
9
10
[root@hadoop101 ~]# su cgd [cgd@hadoop101 root]$ echo $PATH /usr/local/rvm/gems/ruby-2.3.3/bin:/usr/local/rvm/gems/ruby-2.3.3@global/bin:/usr/local/rvm/rubies/ruby-2.3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/rvm/bin:/root/bin [root@hadoop101 ~]# su - cgd 上一次登录:五 10月 2 09:31:34 CST 2020pts/0 上 [cgd@hadoop101 ~]$ echo $PATH /usr/local/rvm/gems/ruby-2.3.3/bin:/usr/local/rvm/gems/ruby-2.3.3@global/bin:/usr/local/rvm/rubies/ruby-2.3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/rvm/bin:/home/cgd/.local/bin:/home/cgd/bin

userdel 删除用户

复制代码
1
2
3
userdel 用户名 删除用户但保存用户主目录 userdel -s 用户名 用户和主目录全部删除
复制代码
1
2
3
4
5
6
[cgd@hadoop101 ~]$ whoami cgd [cgd@hadoop101 ~]$ who am i root pts/0 2020-10-02 09:31 (192.168.52.1)

who 查看登录用户信息

复制代码
1
2
3
whoami 显示自身名称 who am i 显示登录用户的名称

sudo 设置普通用户具有root权限

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
# 修改配置文件 vi /etc/sudoers #修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示: ## Allow root to run any commands anywhere root ALL=(ALL) ALL cgd ALL=(ALL) ALL # 或者配置成采用sudo命令时,不需要输入密码 ## Allow root to run any commands anywhere root ALL=(ALL) ALL cgd ALL=(ALL) NOPASSWD (此处有空格):ALL
复制代码
1
2
3
记录sudo操作日志 在 /etc/sudoers中添加 Defaults logfile = /usr/log/cgd/log

usermod 修改用户

复制代码
1
2
3
选项 usermod -g 用户组 用户名 将用户加入到用户组

用户组管理

groupadd 新增组

复制代码
1
2
3
4
5
选项 -g GID 指定新用户组的GID -o 通常与-g同时使用,使新用户组可以与系统已有的组ID相同 -n 用来修改组名 group -n newGroupName oldGroupName

groupdel 删除组

复制代码
1
2
3
4
groupdel 组名 如果删除的用户组,已经被用户追加为附加组,对应的所有用户的附加组会被撤销掉 如果被删除的用户组,已经被用户指定为主组,则该用户组无法删除

groupmod 修改组

复制代码
1
2
groupmod -n 新组名 老组名

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

复制代码
1
2
cat /etc/group

文件权限

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

逻辑权限

复制代码
1
2
3
4
# 以此处为例 -rw-rw-r--. 1 cgd cgd 2 8月 13 16:37 count

从左到右依次10个字符解释

文件类型属主权限属组权限其他用户权限
01 2 34 5 67 8 9
dr w xr w xr w x
目录文件读 写 执行读 写 执行读 写 执行
复制代码
1
2
3
4
5
6
7
8
9
10
(1)0首位表示类型 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等 - 代表文件 d 代表目录 l 链接文档(link file); (2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User (3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group (4)第7-9位确定其他用户拥有该文件的权限 ---Other

在这里插入图片描述

物理权限

复制代码
1
2
3
4
修饰某个文件/文件夹不允许被修改。注意:不能给 / /tmp /dev /var 加保护 即便是root权限也不一定所有的文件都可以删 语法:chattr [选项] file/dir
命令解释
i不能以任何方式进行文件/夹的修改,追加,删除
a文件/夹只能追加,不能修改,删除
+ <属性>开启某文件/夹的权限
• <属性>关闭某文件/夹的权限
R递归处理

chmod 改变权限

复制代码
1
2
对应权限 二进制和十进制
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
十进制 权限 二进制 0 none 000 1 --x 001 2 -w- 010 3 -wx 011 4 r-- 100 5 r-x 101 6 rw- 110 7 rwx 111
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
第一种方式变更权限 chmod +-rwx 文件或目录 第二种方式变更权限 chmod 421 [文件或目录] u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和) 权限符所对应的十进制 r=4 w=2 x=1 rwx=4+2+1=7 例子: 给文件所有的权限 chmod 777 count.txt

chown 改变所有者

复制代码
1
2
语法: chown 选项 文件或目录
选项功能
-R递归操作
修改所有者chown 用户名称 文件/文件夹
修改属组chown :组名 文件/文件夹
修改所有者以及属组chown 用户名: 组名 文件/文件夹

搜索查找

find 查找文件或者目录

复制代码
1
2
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件
-perm按文件权限查询
-group按用户组查询
-type按文件的类型查询 b (块设备文件 ) d(目录)l(链接文件) f(普通文件)
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[cgd@hadoop101 ~]$ find /opt/software/ -name "apache*" /opt/software/apache-tomcat-8.5.55.tar.gz [cgd@hadoop101 ~]$ find /opt/software/ -user root /opt/software/ikanalyzer-solr5 /opt/software/ikanalyzer-solr5/IKAnalyzer.cfg.xml /opt/software/ikanalyzer-solr5/ext.dic /opt/software/ikanalyzer-solr5/ik-analyzer-solr5-5.x.jar /opt/software/ikanalyzer-solr5/solr-analyzer-ik-5.1.0.jar /opt/software/ikanalyzer-solr5/stopword.dic /opt/software/lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm /opt/software/MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm /opt/software/MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm /opt/software/nginx-1.19.2.zip /opt/software/nginx-1.16.1.tar.gz /opt/software/apache-tomcat-8.5.55.tar.gz /opt/software/redis-4.0.14.tar.gz /opt/software/redis-6.0.6.tar.gz /opt/software/ruby-2.7.1.tar.gz /opt/software/Mycat-server-1.4-release-20151019230038-linux.tar.gz

grep 过滤查找及“|”管道符

复制代码
1
2
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
复制代码
1
2
3
4
5
# 参数-n 显示行号 [root@hadoop101 software]# grep -n "cgd" /etc/passwd 20:cgd:x:1000:1000:cgd:/home/cgd:/bin/bash

which 查找命令

复制代码
1
2
查找命令在那个目录下
复制代码
1
2
3
4
5
[root@hadoop101 software]# which ls alias ls='ls --color=auto' /bin/ls

磁盘

df 查看磁盘空间使用情况

复制代码
1
2
3
选项 -h 格式化显示
复制代码
1
2
3
4
5
6
7
8
9
10
11
[root@hadoop101 software]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 475M 0 475M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 3.4G 14G 20% / /dev/sda1 1014M 137M 878M 14% /boot tmpfs 98M 0 98M 0% /run/user/0

fdisk 查看分区

复制代码
1
2
3
选项 -l 显示所有硬盘的分区列表
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@hadoop101 software]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0003c42a 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM 磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节

mount/unmount 挂载/卸载

复制代码
1
2
3
4
5
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。 Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。 为什么要挂载? 因为文件系统并不能够直接使用
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(1)挂载光盘镜像文件 mkdir /home/cdrom/ 建立挂载点 mount -t iso9660 /dev/cdrom /home/cdrom/ 设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中 ll /home/cdrom/ (2)挂载U盘 需要注意:U盘的格式如果为NTFS,那么需要安装一个插件之后才能够进行挂载,否则无法识别 yum install ntfs -3g 如果是fat32的,那么可以直接进行挂载 mkdir /home/udrom mount –o iocharset=utf8 /dev/sdb1 /home/udrom (3 )卸载光盘镜像文件 umount /mnt/cdrom 5.设置开机自动挂载 vi /etc/fstab

进程 线程

ps 查看当前系统进程状态
复制代码
1
2
3
ps aux | grep xxx 查看系统中所有进程 ps -ef | grep xxx 可以查看子父进程之间的关系
选项功能
-a所有进程
-u显示所有用户的所有进程
ajxf结果以树状的格式显示出来
-x显示没有终端的进程

kill 终止进程

复制代码
1
2
3
选项 -9 强制停止

pstree 查看进程树

复制代码
1
2
3
4
5
-p 显示进程的PID -u 显示进程的所属用户 -A 各程序之间的连接以ASCII字符来连接 -U 各程序之间的连接以UTF-8的字符来连接
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@hadoop101 software]# pstree -p systemd(1)─┬─NetworkManager(689)─┬─{NetworkManager}(707) │ └─{NetworkManager}(713) ├─agetty(673) ├─auditd(631)───{auditd}(632) ├─chronyd(671) ├─crond(667) ├─dbus-daemon(654)───{dbus-daemon}(655) ├─firewalld(688)───{firewalld}(814) ├─lvmetad(500) ├─mysqld_safe(1010)───mysqld(1152)─┬─{mysqld}(1320) │ ├─{mysqld}(1321) │ ├─{mysqld}(1322) │ ├─{mysqld}(1323) │ ├─{mysqld}(1324)

top 查看系统健康状态

复制代码
1
2
3
4
-d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令: -i 使top不显示任何闲置或者僵死进程。 -p 通过指定监控进程ID来仅仅监控某个进程的状态。
复制代码
1
2
3
4
5
6
7
8
每秒刷新一次top top –d 1 每3秒刷新一次top,以批次输出3次 top –d 3 –n 3 每秒刷新一次top,以批次输出5次 top –d 1 –b –n 5 >> top.log

netstat 显示网络统计信息和端口占用情况

复制代码
1
2
3
4
5
6
netstat -anp |grep 进程号 查看该进程网络信息 netstat -nlp | grep 端口号 查看网络端口号占用情况 -n 拒绝显示别名,能显示数字的全部转化成数字 -l 仅列出有在listen(监听)的服务状态 -p 表示显示哪个进程在调用

crond 系统定时任务

复制代码
1
2
3
4
5
6
7
8
9
选项 -e 编辑crontab 定时任务 -l 查询crontab定时任务 -r 删除当前用户所有的crontab任务 crontab -e */1 * * * * ls –l /opt/ > /home/crond.txt 每小时的每分钟执行 ls –l /opt/ > /home/crond.txt命令
选项解释
第一个*一小时中的分钟
第二个*一天中的第几个小时
第三个*一个月中的第几天
第四个*一年中的第几个月
第五个*一周中的星期几
特殊符号含义
*代表时间
,代表不连续时间,0 8,12,16 * * * 每天8点0,12点0,16点0都执行命令
-连续的时间范围。12 4 * * 1-6每周一到周六凌晨4点12分执行命令
*/n每个多长时间执行一次。*/10 * * * * 每隔10分钟执行一次
复制代码
1
2
3
4
5
6
7
# 每隔一分钟,把日历追加到date.txt文件 crontab -e */1 * * * * /home/date_cal.sh vim date_cal.sh cal >> /home/date.txt

软件包管理

wget

复制代码
1
2
3
4
用于从网络上下载资源,没有指定目录,下载资源默认存储到当前目录 wget [参数] URL

gzip/gunzip 压缩

复制代码
1
2
3
4
5
6
gzip 文件 将文件压缩为*.gz gunzip 文件.gz (功能描述:解压缩文件命令) 特点 (1)只能压缩文件不能压缩目录 (2)不保留原来的文件

zip/unzip 压缩

复制代码
1
2
3
4
5
6
7
8
zip [选项] XXX.zip 将要压缩的内容 压缩文件和目录的命令 unzip [选项] XXX.zip 解压缩文件 选项 功能 -r 压缩目录 unzip选项 功能 -d<目录> 指定解压后文件的存放目录

tar 打包

复制代码
1
2
3
4
5
6
7
8
tar [选项] XXX.tar.gz 打包的文件 选项 功能 -z 打包同时压缩 -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -x 解包.tar文件

RPM

复制代码
1
2
3
rpm -e RPM软件包 卸载软件包 rpm -e --nodeps 软件包 卸载软件时,不检查依赖。

yum

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装 选项 -y 无需确认 参数 功能 install 安装rpm软件包 update 更新rpm软件包 check-update 检查是否有可用的更新rpm软件包 remove 删除指定的rpm软件包 list 显示软件包信息 clean 清理yum过期的缓存 deplist 显示yum软件包的所有依赖关系

SSH免密登录

复制代码
1
2
免密登录原理

在这里插入图片描述

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ssh-keygen 第一次提示:证书文件存放位置 [root@hadoop101 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): 第二次提示:对私钥加密,输入密码。如果不需要输入密码,直接回车。 [root@hadoop101 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): 第三次提示:私钥证书的密码确认操作。 证书文件会存放在当前操作用户的家目录下的隐藏目录".ssh"目录下,在该目录下会有以下4个文件 ssh-copy-id hadoop101(192.168.52.131) -rw-------. 1 root root 396 8月 13 09:22 authorized_keys -rw-------. 1 root root 1766 8月 13 09:20 id_rsa -rw-r--r--. 1 root root 396 8月 13 09:20 id_rsa.pub -rw-r--r--. 1 root root 186 8月 13 09:21 known_hosts # 测试 ssh-copy-id {UserName}@Host_IP ssh Host_IP
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
免密登录的两种方式 第一种方式 ssh-copy-id {username}@Host_IP 第二种方式 通过scp或各种远程复制方式,把公钥放入authorized_keys文件中 实例: 以登录本地服务器免密登录为例 ssh HostName 不需要输入密码 第一种方式 ssh-copy-id 用户名(不写默认当前用户)@主机名(或者IP地址) 第二种方式 cp /home/cgd/.ssh/id_rsa.pub /home/cgd/.ssh/authorized_keys 远程则是使用 scp -p /home/cgd/.ssh/id_rsa.pub 用户名@要登录服务器主机名:/home/cgd/.ssh/authorized_keys 第二种方式,如果多个客户端注册同一台服务器,又都是远程方式,scp不能追加,由此此种方式不适合集群免密登录 对比
第一种方式适用于服务器较多的集群
第二种方式适用于服务器较少的集群

防火墙

复制代码
1
2
防火墙:内网和外网之间的保护屏障,学习阶段可以添加放行端口,在虚拟机下可以直接关闭防火墙。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 启动防火墙 systemctl start firewalld.service # 关闭防火墙 systemctl stop firewalld.service # 设置防火墙开机启动 systemctl enable firewalld.service # 关闭防火墙开机启动(先关闭firewall防火墙) systemctl disable firewalld.service # 查看firewall的状态: firewall-cmd --state # 查看防火墙规则: firewall-cmd --list-all [root@hadoop101 ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: # 重新加载防火墙配置:切记更改之后要重新加载配置 [root@hadoop101 ~]# firewall-cmd --reload success 命令的方式添加端口 实例: firewall-cmd --permanent --add-port=6379/tcp 说明: firewall-cmd:是Linux提供的操作firewall的一个工具 --permanent:表示设置为持久 --add-port:标识添加的端口 批量添加端口实例,打开6380-6385端口: firewall-cmd --permanent --add-port=6380-6385/tcp 应用实例: 添加6379端口 firewall-cmd --zone=public --permanent --add-port=6379/tcp 说明: --zone=public:指定的zone为public 删除6379端口 firewall-cmd --zone=public --permanent --remove-port=6379/tcp 查看6379端口 firewall-cmd --zone=public --query-port=6379/tcp

网络相关配置

复制代码
1
2
3
在这里不去介绍桥接和NAT以及各种DNS(域名解析器)、网络模型等等概念。直接配置静态ip 查看虚拟机上子网IP

在这里插入图片描述在这里插入图片描述在这里插入图片描述

复制代码
1
2
centos配置静态IP
复制代码
1
2
3
vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改以下属性,没有的添加

在这里插入图片描述

复制代码
1
2
3
重启网络 systemctl restart network.service

最后

以上就是粗犷画笔最近收集整理的关于Linux基本操作-初级入门的全部内容,更多相关Linux基本操作-初级入门内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部