Linux 常用命令集合

Linux 常用命令集合

文章目录

  • Linux 常用命令集合
    • 一 基本知识了解
      • 1.1 目录结构
      • 1.2 对比
      • 1.3 Linux 链接概念
    • 二 常用命令
      • 2.1 关机命令
      • 2.2 基本命令
      • 2.3 权限命令
      • 2.4 Vim命令
      • 2.5 网络通讯命令
      • 2.6 系统命令
      • 2.7 解压命令
      • 2.8 防火墙基本命令
    • 三 线上安装
      • 3.1 redis的安装
      • 3.2 docker安装
      • 3.3 Tomcat安装

一 基本知识了解

1.1 目录结构

Linux 常用命令集合_第1张图片

  • /bin: 存放二进制可执行文件,常用命令一般都在这里
  • /etc: 存放系统管理和配置文件
  • /home: 存放所有用户文件的根目录,是用户主目录的基点
  • /usr: 用于存放系统应用程序
  • /opt: 额外安装的可选应用程序包所放置的位置
  • /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息
  • /root: 超级用户(系统管理员)的主目录
  • /sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序
  • /dev: 用于存放设备文件
  • /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
  • /boot: 存放用于系统引导时使用的各种文件
  • /lib: 存放着和系统运行相关的库文件
  • /tmp: 用于存放各种临时文件,是公用的临时文件存储点
  • /var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等
  • /lost+found: 这个目录平时是空的

1.2 对比

Linux 常用命令集合_第2张图片

1.3 Linux 链接概念

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

情况下,ln命令产生硬链接。

  • 硬链接:两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问
  • 软连接:A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

二 常用命令

2.1 关机命令

  • sync:将数据由内存同步到硬盘中
  • shutdown : 关机指令
  • shutdown –h 10: 这个命令告诉大家,计算机将在10分钟后关机
  • shutdown –h now :立马关机
  • shutdown –h 20:25 ;系统会在今天20:25关机
  • shutdown –h +10: 十分钟后关机
  • shutdown –r now :系统立马重启
  • shutdown –r +10 : 系统十分钟后重启
  • reboot : 就是重启
  • halt : 关闭系统

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

2.2 基本命令

  • ls: 列出目录
  • cd:切换目录
  • pwd:显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录,或修改文件与目录的名称
  • df: 显示磁盘空间使用情况
  • du: 也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看
  • cat: 用于连接文件并打印到标准输出设备上
  • tac:从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl: 显示的时候,顺道输出行号!
  • more: 一页一页的显示文件内容
  • less: 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head: 只看头几行
  • tail:只看尾巴几行
  • useradd:添加用户,还有删除用户,修改用户,密码管理

详细用法

  • ls
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
  • cd
cd / 进入该目录
cd ~ 进入 “home” 目录
cd .. 退回上一层目录
  • mkdir
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
  • cp
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-p:**连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-d:**若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-r:**递归持续复制,用於目录的复制行为;(常用)
-f:**为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:**若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:**进行硬式连结(hard link)的连结档创建,而非复制文件本身。
-s:**复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:**若 destination 比 source 旧才升级 destination !
  • rm
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
  • mv
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
  • df
-a 全部文件系统列表
-h 以方便阅读的方式显示信息
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地磁盘
-T 列出文件系统类型
  • du
-a 显示目录中所有文件大小
-k 以KB为单位显示文件大小
-m 以MB为单位显示文件大小
-g 以GB为单位显示文件大小
-h 以易读方式显示文件大小
-s 仅显示总计
-c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
  • cat
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
  • nl
- -b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);-b t :如果有空行,空的那一行不要列出行号(默认值);
- -n :列出行号表示的方法,主要有三种:-n ln :行号在荧幕的最左方显示;-n rn :行号在自己栏位的最右方显示,且不加 0 ;-n rz :行号在自己栏位的最右方显示,且加 0 ;
- -w :行号栏位的占用的位数。

2.3 权限命令

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

Linux 常用命令集合_第3张图片

- 当为[ **d** ]则是目录
- 当为[ **-** ]则是文件;
- 若是[ **l** ]则表示为链接文档 ( link file );
- 若是[ **b** ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
- 若是[ **c** ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)[ w ]代表可写(write)[ x ]代表可执行(execute),要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示。第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

  • 第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限

  • 第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限

  • 第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限

  • chgrp:更改文件属组

-u :目录或者文件的当前的用户
-g :目录或者文件的当前的群组
-o :除了目录或者文件的当前用户或群组之外的用户或者群组
-a :所有的用户及群组
  • chmod:更改文件9个属性
-c 显示更改的部分的信息
-R 处理指定目录及子目录

2.4 Vim命令

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。这三种模式的作用分别是:

命令模式:

用户刚刚启动vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式:

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

ESC键可随时退出底线命令模式。

2.5 网络通讯命令

  • ifconfig: 用于查看和配置 Linux 系统的网络接口
  • iptables: ,是一个配置 Linux 内核防火墙的命令行工具。功能非常强大,对于我们开发来说,主要掌握如何开放端口即可。 (iptables -A INPUT -p tcp --dport 80 -j ACCEP)
  • netstat: 用于显示网络状态
  • ping: 用于检测主机
  • telnet: 用于远端登入

2.6 系统命令

  • date: 显示或设定系统的日期与时间
  • free: 显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
  • kill:结束掉某进程
  • ps:用来查看当前运行的进程状态
-A 显示所有进程
a 显示所有进程
-a 显示同一终端下所有进程
c 显示进程真实名称
e 显示环境变量
f 显示进程间的关系
r 显示当前终端运行的进程
-aux 显示所有包含其它使用的进程
  • rmp: 命令用于管理套件
  • top: 显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等

2.7 解压命令

  • tar: 用来压缩和解压文件。tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成。
-c 建立新的压缩文件
-f 指定压缩文件
-r 添加文件到已经压缩文件包中
-u 添加改了和现有的文件到压缩包中
-x 从压缩包中抽取文件
-t 显示压缩文件中的内容
-z 支持gzip压缩
-j 支持bzip2压缩
-Z 支持compress解压文件
-v 显示操作过程
压缩
tar -zcvf log.tar 1.log,2.log 或tar -cvf log.*
解压
tar -zxvf /tmp/etc.tar.gz /etc

2.8 防火墙基本命令

# 查看firewall服务状态
systemctl status firewalld

# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop

# 查看防火墙规则
firewall-cmd --list-all    # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息

# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service

命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效

三 线上安装

3.1 redis的安装

  • 安装gcc
 yum install cpp 
  • 下载
wget http://download.redis.io/releases/redis-4.0.11.tar.gz
  • 解压
tar xzf redis-4.0.11.tar.gz
  • 复制
cp -r redis-4.0.11 /usr/local/redis
  • 生效
make
  • 修改config
daemonize yes
  • 启动服务端
./src/redis-server

Linux 常用命令集合_第4张图片

  • 连接测试
./src/redis-cli 

在这里插入图片描述

  • 思考,可以设置开机自启吗?

3.2 docker安装

#1.卸载旧版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
#2.需要的安装包
yum install -y yum-utils
#3.设置镜像的仓库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
#默认是从国外的,不推荐
#推荐使用国内的
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引
yum makecache fast
#4.安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
#5、启动docker
#root用户
systemctl start docker 
#非root用户
sudo systemctl start docker
#6. 使用docker version查看是否按照成功
docker version
#7. 测试
docker run hello-world
[root@shu /]# docker run hello-world

3.3 Tomcat安装

  • 安装好了Java环境后我们可以测试下Tomcat!准备好Tomcat的安装包!
  • 将文件移动到/usr/tomcat/下,并解压
[root@]# mv apache-tomcat-9.0.22.tar.gz /usr
[root@]# cd /usr
[root@]# ls
apache-tomcat-9.0.22.tar.gz
[root@]# tar -zxvf apache-tomcat-9.0.22.tar.gz   # 解压
  • 运行Tomcat,进入bin目录,和我们以前在Windows下看的都是一样的
# 执行:startup.sh -->启动tomcat
# 执行:shutdown.sh -->关闭tomcat
./startup.sh
./shutdown.sh

Linux 常用命令集合_第5张图片

你可能感兴趣的:(Linux,linux,操作系统,shell)