我是靠谱客的博主 粗犷画笔,最近开发中收集的这篇文章主要介绍Linux基本操作-初级入门,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说明

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

目录结构

Linux系统中一切皆文件

vim/vi操作

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复制一行
编辑模式
通常 vim 文件名 直接进入编辑模式
这时无法编辑文件内容,需要按下『i, I, o, O, a, A, r, R』进入编辑模式
这时屏幕左下方会出现『INSERT(插入)或 REPLACE(修改)』
如果回到一般模式 按下ESC
命令描述
i定位到当前光标前
a定位到当前光标后
o定位到当前光标的下一行
O定位到当前光标的上一行
I定位到当前光标行首
A定位到当前光标行尾
指令模式
在一般模式当中,输入『 : / ?』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
模式转换

在这里插入图片描述

文件与目录结构

在这里插入图片描述

文件目录类操作命令

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

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

ll 列出目录的内容

	解释: 列出目录的内容
	选项: 功能
	-a 	 显示出全部文件(包括隐藏文件)
	-h   显示出文件的大小

在这里插入图片描述

ls 列出目录内容

	选项   功能
	-a      全部文件(包括隐藏文件)
	-l       列表显示
	-h     与-l配合使用显示文件大小
	-d     显示指定目录下的文件信息

在这里插入图片描述

tree 树结构列出目录的内容

[cgd@hadoop102 ~]$ tree ./
./
├── 357274201
├── vi
│   ├── ls
│   │   └── test.txt -> test.txt
│   └── test.txt
└── zookeeper.out

2 directories, 4 files

cd 切换目录

cd 切换目录
cd 绝对路径
cd 相对路径
cd  ~	回到当前用户的家目录
cd  -	回到上一次所在目录
cd  ../   回到当前目录的上一级目录

在这里插入图片描述

mkdir 创建一个新的目录

选项 
-p  创建多级目录

在这里插入图片描述

rmdir 删除一个空目录

[cgd@hadoop102 ~]$ rmdir d1
[cgd@hadoop102 ~]$ ls
!  d2  vi  zookeeper.out

touch 创建空文件

[cgd@hadoop102 ~]$ touch file1.txt
[cgd@hadoop102 ~]$ ls
!  d2  file1.txt  vi  zookeeper.out

cp 复制文件或目录

选项
-r  递归复制
[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 删除文件夹或目录

选项
-r    递归删除
-f    强制执行删除操作
-v   显示指令的详细执行过程

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

[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 查看文件内容

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

more 文件内容分屏查看器

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

less 分屏显示文件内容

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

echo输出内容到控制台

	选项
		-e   支持转义符
[cgd@hadoop102 ~]$ echo "hellonworld"
hellonworld
[cgd@hadoop102 ~]$ echo -e "hellonworld"
hello
world

head 显示文件头部内容

选项
-n  行数
[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 输出文件尾部内容

选项
tail -n 行数  文件名  输出文件后行数的内容
tail -f  文件名     实时监控文件变化内容
[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 ~]$ 

数据重定向

数据展示重定向到其他地方 , 比如 cat 命令查看文件内容
把展示的内容写入文件
选项
  标准输入(stdin):编号为0            使用<或<<
  标准输出(stdout):编号为1           使用>或>>
  标准错误输出(stderr):编号为2         使用>或>>

  1>:内容覆盖,将正确的数据输出到文件;  
  1>>:内容追加,将正确的数据输出到文件;  
  2>:内容覆盖,将错误输出的数据输出到文件;  
  2>>:内容追加,将错误输出的数据输出到文件;  
正确信息输出文件覆盖
[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: 没有那个文件或目录
有些场景下 需要把几行数据追加到文件中。
cat 配合EOF使用
[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软连接

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

在这里插入图片描述

帮助命令

man 获得帮助信息

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

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

help 命令
[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.

时间日期

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

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

password

password 设置用户密码
选项
 -l  锁定账号
 -u 解锁账号
 -d 删除密码

id 查看用户是否存在

id zs

查看创建了哪些用户

cat /etc/passwd

su 切换用户

选项
su 用户名称   用户会停留在当前用户的环境
su - 用户名称  用户会切换到对应用户的环境
[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 删除用户

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

who 查看登录用户信息

whoami   显示自身名称
who am i  显示登录用户的名称

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

# 修改配置文件
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

记录sudo操作日志
在  /etc/sudoers中添加   Defaults logfile = /usr/log/cgd/log

usermod 修改用户

选项
usermod -g 用户组 用户名    将用户加入到用户组

用户组管理

groupadd 新增组

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

groupdel 删除组

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

groupmod 修改组

groupmod -n 新组名 老组名

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

 cat  /etc/group

文件权限

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

逻辑权限

# 以此处为例
-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)0首位表示类型
	在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
	- 代表文件
	 d 代表目录
	 l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
(4)第7-9位确定其他用户拥有该文件的权限 ---Other

在这里插入图片描述

物理权限

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

chmod 改变权限

对应权限 二进制和十进制
十进制            权限                   二进制

    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

第一种方式变更权限
	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 改变所有者

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

搜索查找

find 查找文件或者目录

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件
-perm按文件权限查询
-group按用户组查询
-type按文件的类型查询 b (块设备文件 ) d(目录)l(链接文件) f(普通文件)
[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 过滤查找及“|”管道符

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

which 查找命令

查找命令在那个目录下
[root@hadoop101 software]# which ls
alias ls='ls --color=auto'
        /bin/ls

磁盘

df 查看磁盘空间使用情况

选项
-h 格式化显示
[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 查看分区

选项
-l 显示所有硬盘的分区列表
[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 挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
为什么要挂载?
		因为文件系统并不能够直接使用
(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 查看当前系统进程状态
ps aux | grep xxx		查看系统中所有进程
ps -ef | grep xxx		可以查看子父进程之间的关系
选项功能
-a所有进程
-u显示所有用户的所有进程
ajxf结果以树状的格式显示出来
-x显示没有终端的进程

kill 终止进程

选项
-9  强制停止

pstree 查看进程树

-p	显示进程的PID 
-u	显示进程的所属用户
-A	各程序之间的连接以ASCII字符来连接
-U	各程序之间的连接以UTF-8的字符来连接
[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 查看系统健康状态

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

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

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

crond 系统定时任务

选项
-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分钟执行一次
# 每隔一分钟,把日历追加到date.txt文件
crontab -e
*/1 * * * * /home/date_cal.sh

vim date_cal.sh
cal >> /home/date.txt

软件包管理

wget

用于从网络上下载资源,没有指定目录,下载资源默认存储到当前目录

wget [参数] URL

gzip/gunzip 压缩

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

zip/unzip 压缩

zip  [选项] XXX.zip  将要压缩的内容 		压缩文件和目录的命令
unzip [选项] XXX.zip						解压缩文件

选项	功能
-r	压缩目录
unzip选项	功能
-d<目录>	指定解压后文件的存放目录

tar 打包

tar  [选项]  XXX.tar.gz  打包的文件
选项	功能
-z	打包同时压缩
-c	产生.tar打包文件
-v	显示详细信息
-f	指定压缩后的文件名
-x	解包.tar文件

RPM

 rpm -e RPM软件包     卸载软件包
 rpm -e --nodeps 软件包   卸载软件时,不检查依赖。

yum

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免密登录

免密登录原理

在这里插入图片描述

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
免密登录的两种方式
第一种方式
	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不能追加,由此此种方式不适合集群免密登录


对比
第一种方式适用于服务器较多的集群
第二种方式适用于服务器较少的集群

防火墙

防火墙:内网和外网之间的保护屏障,学习阶段可以添加放行端口,在虚拟机下可以直接关闭防火墙。
# 启动防火墙
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



网络相关配置

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

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

centos配置静态IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改以下属性,没有的添加

在这里插入图片描述

重启网络
systemctl restart network.service

最后

以上就是粗犷画笔为你收集整理的Linux基本操作-初级入门的全部内容,希望文章能够帮你解决Linux基本操作-初级入门所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部