Linux常用命令讲解(pdf在我的资源可以下载,有图)

文章目录

  • Linux学习之路
    • 1.Linux安装篇
      • 1.1 Linux有哪几个发行版(Centos、Redhat等等),区别特点是什么?
      • 1.2 如何打开我想要的系统?
        • 1.2.1 vm的安装步骤
        • 1.2.2 CentOS安装步骤
      • 1.3 如何让Linux系统更人性化
        • 1.3.1 Vmvare Tools 的安装和使用(Linux与Window文本复制)
        • 1.3.2 设置上网功能
        • 1.3.3 设置Linux和Window共享文件夹
        • 1.3.4 设置中文输入方式
        • 1.3.5 安装XShell(远程连接远程Linux)
        • 1.3.6 安装Xftp(Linux与Window上传下载文件)
        • 1.3.7 学习使用vi,vim(编辑文件)
      • 1.4 Linux目录结构
    • 2.Linux实操篇
      • 2.1 开机、重启和用户登录注销
      • 2.2 用户管理
        • 2.2.1 useradd 添加用户
        • 2.2.2 passwd 指定/修改密码
        • 2.2.3 userdel 删除用户
        • 2.2.4 id 查询用户信息指令
        • 2.2.5 su 切换用户
        • 2.2.6 whoami 查看当前用户/登录用户
      • 2.3 用户组管理
        • 2.3.1 groupadd 新增组
        • 2.3.2 groupdel 删除组
        • 2.3.3 groups 查看用户所在组
        • 2.3.4 useradd 增加用户时直接加上组
        • 2.3.5 usermod 修改用户的组
        • 2.3.6 用户和组的相关文件
      • 2.4 文件组管理
        • 2.4.1 ls 查看文件/目录所在组
        • 2.4.2 chgrp 修改文件所在的组
      • 2.5 权限管理
        • 2.5.1 ls 显示文件权限
        • 2.5.2 rwx权限详解
        • 2.5.3 chmod 修改文件权限
        • 2.5.4 chown 修改文件所有者
        • 2.5.5 chgrp 修改文件所在组
      • 2.6 实用指令
        • 1.init 指定运行级别
        • 2.帮助指令(man、help)
          • 1.man 指令
          • 2.help指令
        • 3.文件目录类指令
          • 1.pwd 指令
          • 2.ls指令
          • 3.cd 指令
          • 4.mkdir指令
          • 5.rmdir指令
          • 6.touch指令
          • 7.cp指令
          • 8.rm指令
          • 9.mv指令
          • 10.cat指令
          • 11.more指令
          • 12.less指令
          • 13.echo指令
          • 14.head指令
          • 15.tail指令
          • 16.>指令 和 >> 指令
          • 17.ln 指令
          • 18.history指令
        • 5.时间日期类
          • 1.date指令-显示当前日期
          • 2.date指令-设置日期
          • 3.cal指令
        • 6.搜索查找类
          • 1.find指令
          • 2.locate指令(快速定位文件路径)
          • 3.grep指令和管道符号|
        • 7.压缩,解压缩
          • 1.gzip/gunzip 指令
          • 2.zip/unzip 指令
          • 3.tar指令(打包指令)
      • 2.7未分类指令
        • 1.pwd指令
        • 2.ls指令
        • 3.mount指令
        • 4.yum指令
      • 2.8 crond 定时任务
    • 3 常见操作汇集
          • Q1.解压错误
          • Q2.linux 下 新建目录/解压文件 自动加锁的解决办法
          • Q3:vim 修改文件出现错误“E45: 'readonly' option is set (add ! to override)”
          • Q4:查看后台进程是否起来了
          • Q5:Linux连接redis客户端出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
          • Q6:linux下如何安装jdk配置环境变量
          • Q7:linux下运行java文件
          • Q8:linux如何下运行tomcat
          • Q9:linux发布一个项目
          • Q10:window10的telnet不是内部命令(安装telnet)
          • Q11:如何实现远程桌面功能
          • Q12:如何远程了解到linux?
          • Q13:如果实现端口转发?
          • Q14:使用rpm安装软件
          • Q15:如何给linux传文件
          • Q16:YUM安装软件配置远程源
          • Q17:如果在linux使用mysql?
          • Q18:VMware虚拟机的设置无法进行编辑如何解决?
      • linux相关网络知识
      • OneNote上的笔记,会跟前面有重复

Linux学习之路

1.Linux安装篇

1.1 Linux有哪几个发行版(Centos、Redhat等等),区别特点是什么?

我们平时所说的Linux系统说的是Linux内核,但不包括应用软件,所以一些厂商开始设计自己的版本(Linux+software),因此有了不同的发行版。

Redhat系列:RHEL,Fedora,CentOS,红旗
Debian系列:Debian,Ubuntu,Mint

那俩系列的区别最明显的就是一个用Yum管理软件,一个用apt-get管理软件

1.2 如何打开我想要的系统?

安装 Vmware+Linux发行版

  1. 安装 vm 软件
  2. 通过 vm 软件创建一个虚拟机空间
  3. 通过 vm 软件在创建好的虚拟空间上,安装我们的 CenOS(Linux的一个版本) 操作系统
  4. 使用 CenOS

1.2.1 vm的安装步骤

文档教程

下载链接

1.去 BIOS(开机F2/F10进入) 修改设置开启虚拟机拟化设备支持

2.安装虚拟机软件(vm12)

1.2.2 CentOS安装步骤

下载链接

文档教程

1.创建虚拟机(空间)(管理员方式运行 VMware Station)

  1. 新建虚拟机。↓
  2. 选择"典型"。↓
  3. 选择"稍后安装操作系统"。↓
  4. 选择"Linux";“Centos64"或者"Red Hat Enterprise Linux 6 64位”(根据你将要装的发行版选择)。↓
  5. 给虚拟机命名;选择虚拟机存放位置。↓
  6. 默认设置。↓
  7. 完成。。↓
  8. 点击创建好的虚拟机,编辑虚拟机设置。↓
  9. 设置处理器为你本机最大的处理器数量和核心数。↓
  10. 设置网络适配器为NAT模式。
    1. 网络适配器分为桥接模式、NAT模式、仅主机模式
    2. 桥接模式:可以与其他系统通讯,但容易造成IP冲突
    3. NAT模式:linux可以访问外网,不会造成ip冲突,但无法与其他系统通讯
    4. 主机模式:linux系统变成单机模式,不能访问外网

2.开始安装系统(CentOS6.8)

  1. 再次点击编辑虚拟机设置
  2. 点击CD/DVD,选择使用ISO镜像映射文件

1.3 如何让Linux系统更人性化

  1. 安装Vmvare Tools(Linux与Window文本复制)
  2. 设置上网功能
  3. Linux与Winodw共享文件夹
  4. 切换中文输入法
  5. 安装XShell(远程连接远程Linux)
  6. 安装Xftp(Linux与Window上传下载文件)
  7. 学习使用vi,vim(编辑文件)

1.3.1 Vmvare Tools 的安装和使用(Linux与Window文本复制)

  1. 进入centos
  2. 点击 vm 菜单的 ->install vmware tools
  3. centos 会出现一个 vm 的安装包
  4. 点击右键解压,得到一个安装文件
  5. 进入该 vm 解压的目录,该文件在 /root/桌面/vmware-tools-distrib/下
  6. 安装 ./vmware-install.pl
  7. 全部使用默认设置即可
  8. 需要 reboot 重新启动才可以生效

1.3.2 设置上网功能

点击上面右侧:两个计算机图片,选择启用eth0

1.3.3 设置Linux和Window共享文件夹

1.虚拟机 -> 设置 -> 选项 -> 共享文件夹 -> 总是启用 -> 添加windows共享文件夹

2.设置完后,共享文件夹在linux下的/mnt/hgfs/目录下

1.3.4 设置中文输入方式

ctrl+空格,可以切换输入法

1.3.5 安装XShell(远程连接远程Linux)

下载链接

  1. 直接下载安装
  2. 文件 -> 新建
    1. 名称:(你喜欢)
    2. 协议:SSH
    3. 主机:(填你连接的linux系统的ip,用ifconfig命令查看)
    4. 端口号:22
  3. 确定
  4. 填写Linux机的用户名和密码
  5. 远程连接成功

1.3.6 安装Xftp(Linux与Window上传下载文件)

下载链接

  1. 直接下载安装

  2. 文件 -> 新建

    1. 名称:(你喜欢)
    2. 主机:(填你连接的linux系统的ip,用ifconfig命令查看)
    3. 协议:sftp
    4. 端口号:22
    5. 用户名(Linux用户)
    6. 密码(Linux密码)
  3. 修改乱码

    1. 属性 -> 选项 -> 勾选"使用UTF-8编码"

1.3.7 学习使用vi,vim(编辑文件)

切换模式

快捷键使用练习:

  1. 拷贝当前行 yy , 拷贝当前行向下的5行 5yy,并粘贴。
  2. 删除当前行 dd , 删除当前行向下的5行 5dd
  3. 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ]
  4. 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]
  5. 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg]
  6. 在一个文件中输入 “hello” ,然后又撤销这个动作 u
  7. 编辑 /etc/profile 文件,并将光标移动到 20行 shift+g
  8. 更多的看整理的文档

1.4 Linux目录结构

基本介绍:linux的文件系统是采用级层式的树状目录结构,在此机构中的最上层是根目录“/”,然后在此目录下再创建其他的目录

深刻理解 linux 树状文件目录非常重要,记住一句经典的话: 在 linux 的世界里,一切皆为文件

/bin [重点] (/usr/bin 、 /usr/local/bin)
• 是Binary的缩写, 这个目录存放着最经常使用的命令

/sbin (/usr/sbin 、 /usr/local/sbin)
• s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/home [重点]
• 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般
该目录名是以用户的账号命名的。

/root [重点]
• 该目录为系统管理员,也称作超级权限者的用户主目录。

/lib
• 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几
乎所有的应用程序都需要用到这些共享库。

/lost+found
• 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/etc [重点]
• 所有的系统管理所需要的配置文件和子目录 my.conf

/usr [重点]
• 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与
windows下的program files目录

/boot [重点]
• 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

/proc
• 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息

/srv
• service缩写,该目录存放一些服务启动之后需要提取的数据。

/sys
• 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs

/tmp
• 这个目录是用来存放一些临时文件的。

/dev
• 类似于windows的设备管理器,把所有的硬件用文件的形式存储。

/media [重点]
• linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux
会把识别的设备挂载到这个目录下。

/mnt [重点]
• 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂
载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare

/opt
• 这是给主机额外**安装软件(安装包)**所摆放的目录。如安装ORACLE数据库就可放到该目录下。
默认为空。

/usr/local [重点]
• 这是另一个给主机额外安装软件所安装的目录(解压后)。一般是通过编译源码方式安装的程序。

/var [重点]
• 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。
包括各种日志文件

/selinux [security-enhanced linux] 360
• SELinux是一种安全子系统,它能控制程序只能访问特定文件。

2.Linux实操篇

2.1 开机、重启和用户登录注销

关机&重启命令
基本介绍:
shutdown –h now 立该进行关机
shudown -h 1 “hello, 1 分钟后会关机了”
shutdown –r now 现在重新启动计算机
halt 关机,作用和上面一样.
reboot 现在重新启动计算机
sync 把内存的数据同步到磁盘.
注意细节:
不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中

2.2 用户管理

基本介绍
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向
系统管理员申请一个账号,然后以这个账号的身份进入系统。

2.2.1 useradd 添加用户

基本语法
useradd 用户名
应用案例
1)案例1:添加一个用户 xiaoming
细节说明

  1. 当创建用户成功后,会自动的创建和用户同名的家目录
  2. 也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

2.2.2 passwd 指定/修改密码

基本语法
passwd 用户名
应用案例

  1. 给xiaoming 指定密码

2.2.3 userdel 删除用户

基本语法
userdel 用户名
应用案例

  1. 删除用户xiaoming,但是要保留家目录
  2. 删除用户以及用户主目录
    细节说明
  3. 是否保留家目录的讨论?

2.2.4 id 查询用户信息指令

基本语法
id 用户名
应用实例
案例1:请查询root 信息
细节说明

  1. 当用户不存在时,返回无此用户

2.2.5 su 切换用户

介绍
在操作Linux中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户,比如root
基本语法
su – 切换用户名
应用实例

  1. 创建一个用户zf, ,指定密码,然后切换到 zf.
    细节说明
  2. 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
  3. 当需要返回到原来用户时,使用exit指令

2.2.6 whoami 查看当前用户/登录用户

基本语法
whoami/ who am I

2.3 用户组管理

基本介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理。

2.3.1 groupadd 新增组

• 指令
groupadd 组名

2.3.2 groupdel 删除组

• 指令
groupdel 组名

2.3.3 groups 查看用户所在组

• 指令

groups

2.3.4 useradd 增加用户时直接加上组

• 指令
useradd –g 用户组 用户名
增加一个用户 zwj, 直接将他指定到 wudang

2.3.5 usermod 修改用户的组

• 指令
usermod –g 用户组 用户名

2.3.6 用户和组的相关文件

/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow 文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警
告时间:不活动时间:失效时间:标志
/etc/group 文件
组(group)的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表

2.4 文件组管理

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。

2.4.1 ls 查看文件/目录所在组

基本指令
ls –ahl
应用实例

2.4.2 chgrp 修改文件所在的组

基本指令
chgrp 组名 文件名
应用实例
使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文
件所在组,修改到 fruit组

2.5 权限管理

2.5.1 ls 显示文件权限

基本指令

ls -l

应用实例

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型: 文件 (-),目录(d),链接(l)
其余字符每3个一组(rwx) 读® 写(w) 执行(x)
第一组rwx : 文件拥有者的权限是读、写和执行
第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行

说明

0-9位说明

  1. 第0位确定文件类型(d, - , l , c , b)
  2. 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User
  3. 第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
  4. 第7-9位确定其他用户拥有该文件的权限 —Other

2.5.2 rwx权限详解

rwx作用到文件

  1. [ r ]代表可读(read): 可以读取,查看
  2. [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是
    对该文件所在的目录有写权限,才能删除该文件.
  3. [ x ]代表可执行(execute):可以被执行
    rwx作用到目录
  4. [ r ]代表可读(read): 可以读取,ls查看目录内容
  5. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  6. [ x ]代表可执行(execute):可以进入该目录

2.5.3 chmod 修改文件权限

基本说明:
通过chmod指令,可以修改文件或者目录的权限。
第一种方式:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名
    • 案例演示
  4. 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
  5. 给abc文件的所有者除去执行的权限,增加组写的权限
  6. 给abc文件的所有用户添加读的权限

第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名

2.5.4 chown 修改文件所有者

基本介绍
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效

2.5.5 chgrp 修改文件所在组

基本介绍
chgrp newgroup file 改变文件的所有组

2.6 实用指令

1.init 指定运行级别

基本介绍:
运行级别说明:
0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5 ,要修改默认的运行级别可改文件
/etc/inittab的id:5:initdefault:这一行中的数字
命令:init [012356]

案例1

案例2

开机,enter -> ee1b改root密码(只有当你在服务器的电脑上们才能有这个操作,linux默认你是服务器的主人;无法远程改root密码)

2.帮助指令(man、help)

1.man 指令

• 基本语法
man [命令或配置文件](功能描述:获得帮助信息)
• 应用实例
案例:查看ls命令的帮助信息

2.help指令

• 基本语法
help 命令 (功能描述:获得shell内置命令的帮助信息)
• 应用实例
案例:查看cd命令的帮助信息
百度帮助更直接
虽然上面两个都可以来获取指令帮助,但是需要英语功底,如果英语不太好的,我还是
推荐大家直接百度靠谱

3.文件目录类指令

1.pwd 指令

基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
应用实例
案例:显示当前工作目录的绝对路径

2.ls指令

基本语法
ls [选项] [目录或是文件]
常用选项
-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息
应用实例
案例:查看当前目录的所有内容信息

3.cd 指令

基本语法
cd [参数] (功能描述:切换到指定目录)
常用参数
绝对路径和相对路径
cd ~ 或者cd :回到自己的家目录
cd … 回到当前目录的上一级目录
应用实例
案例1:使用绝对路径切换到root目录
案例2: 使用相对路径到/root 目录
案例3:表示回到当前目录的上一级目录
案例4:回到家目录

4.mkdir指令

mkdir指令用于创建目录
基本语法
mkdir [选项] 要创建的目录
常用选项
-p :创建多级目录
应用实例
案例1:创建一个目录 /home/dog
案例2:创建多级目录 /home/animal/tiger

5.rmdir指令

rmdir指令删除空目录
基本语法
rmdir [选项] 要删除的空目录
应用实例
案例1:删除一个目录 /home/dog
使用细节
rmdir 删除的是空目录,如果目录下有内容时无法删除的。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录

6.touch指令

touch指令创建空文件
基本语法
touch 文件名称
应用实例
案例1: 创建一个空文件 hello.txt

7.cp指令

cp 指令拷贝文件到指定目录
基本语法
cp [选项] source dest
常用选项
-r :递归复制整个文件夹
应用实例
案例1: 将 /home/aaa.txt 拷贝到 /home/bbb 目录下
案例2: 递归复制整个文件夹,举例
使用细节
强制覆盖不提示的方法:\cp

8.rm指令

rm 指令移除文件或目录
基本语法
rm [选项] 要删除的文件或目录
常用选项
-r :递归删除整个文件夹
-f : 强制删除不提示
应用实例
案例1: 将 /home/aaa.txt 删除
案例2: 递归删除整个文件夹 /home/bbb
使用细节
强制删除不提示的方法:带上 -f 参数即可

9.mv指令

mv 移动文件与目录或重命名
基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
应用实例
案例1: 将 /home/aaa.txt 文件 重新命名为 pig.txt
案例2:将 /home/pig.txt 文件 移动到 /root 目录下

10.cat指令

cat 查看文件内容
基本语法
cat [选项] 要查看的文件
常用选项
-n :显示行号
应用实例
案例1: /ect/profile 文件内容,并显示行号
使用细节
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more

11.more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more指令中内置了若干快捷键,详见操作说明
基本语法
more 要查看的文件
操作说明
应用实例
案例: 采用more查看文件
/etc/profile

12.less指令

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支
持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是
根据显示需要加载内容,对于显示大型文件具有较高的效率。
基本语法
less 要查看的文件
操作说明
应用实例
案例: 采用less查看一个
大文件文件
/opt/金庸-射雕英雄传txt精校版.txt

13.echo指令

echo输出内容到控制台。
基本语法
echo [选项] [输出内容]
应用实例
案例: 使用echo 指令输出环境变量
案例: 使用echo 指令输出 hello,world!

14.head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
应用实例
案例: 查看/etc/profile 的前面5行代码

15.tail指令

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
基本语法

  1. tail 文件 (功能描述:查看文件头10行内容)
  2. tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
  3. tail -f 文件 (功能描述:实时追踪该文档的所有更新)
    应用实例
    案例1: 查看/etc/profile 最后5行的代码
    案例2: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期
16.>指令 和 >> 指令

输出重定向和 >> 追加
基本语法

  1. ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
  2. ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
  3. cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
  4. echo “内容”>> 文件
    应用实例
    案例1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中
    案例2: 将当前日历信息 追加到 /home/mycal 文件中
17.ln 指令

软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
应用实例
案例1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录
案例2: 删除软连接 linkToRoot
细节说明
当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录

18.history指令

查看已经执行过历史命令,也可以执行历史指令
基本语法
history (功能描述:查看已经执行过历史命令)
应用实例
案例1: 显示所有的历史命令
案例2: 显示最近使用过的10个指令。
案例3:执行历史编号为5的指令

5.时间日期类

1.date指令-显示当前日期

基本语法

  1. date (功能描述:显示当前时间)
  2. date +%Y (功能描述:显示当前年份)
  3. date +%m (功能描述:显示当前月份)
  4. date +%d (功能描述:显示当前是哪一天)
  5. date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
    应用实例
    案例1: 显示当前时间信息
    案例2: 显示当前时间年月日
    案例3: 显示当前时间年月日时分秒
2.date指令-设置日期

基本语法
date -s 字符串时间
应用实例
案例1: 设置系统当前时间 , 比如设置成 2020-11-11 11:22:22

3.cal指令

查看日历指令
基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
应用实例
案例1: 显示当前日历
案例2: 显示2020年日历

6.搜索查找类

1.find指令

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终
端。
基本语法
find [搜索范围] [选项]

案例1:按文件名,根据名称查找/home 目录下的hello.txt文件

案例2:按拥有者,查找/opt目录下,用户名称为nobody的文件

案例3:查找整个linux系统下大雨20M的文件(+n 大于 -n小于 n等于)

案例4:查询 / 目录下,所有.txt文件

2.locate指令(快速定位文件路径)

locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径
的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。
为了保证查询结果的准确度,管理员必须定期更新locate时刻。
基本语法
locate 搜索文件
特别说明
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate
数据库

案例1:请使用 locate 指令快速定位 hello.txt 文件所在目录

3.grep指令和管道符号|

grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
基本语法
grep [选项] 查找内容 源文件

案例1:请在 hello.txt 文件中,查找“yes” 所在行,并且显示行号。

7.压缩,解压缩

1.gzip/gunzip 指令

gzip 用于压缩文件, gunzip 用于解压的
基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)

案例1:将 /home 下的 hello.txt 文件进行压缩

案例2:将 /home 下的 hello.txt.gz 文件进行解压缩

细节说明:

当我们使用gzip对文件进行压缩后,不会保留原来的文件

2.zip/unzip 指令

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
• 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
zip常用选项
-r:递归压缩,即压缩目录
unzip的常用选项
-d<目录> :指定解压后文件的存放目录

案例1:将 /home 下的所有文件进行压缩成 mypackage.zip

案例2:将 mypackage.zip 压缩到 /out/tmp 目录下

3.tar指令(打包指令)

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

案例1:压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz

案例2:将 /home 的文件夹,压缩成 myhome.tar.gz

案例3:将 a.tar.gz 解压到当前目录

案例4:将 myhome.tar.gz 解压到 /opt/ 目录下

案例5:查看压缩包pak压缩包下有什么文件

使用提示:

指定目录事先要有,否则会报错

2.7未分类指令

1.pwd指令

指令:查看当前目录

[root@localhost ~]# pwd
/root
[root@localhost ~]#

2.ls指令

指令:显示指定目录下的文件、目录列表

3.mount指令

指令:mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。

实例1:将dev的cdrom挂载到mnt的cdrom

案例2:mount -t iso9660 /dev/cdrom /mnt是什么意思

mount 是挂载的意识,这个是在linux非常有用的命令。
mount -t iso9660 /dev/cdrom /mnt
这句话的意识是把你的cd驱动器挂载到文件系统/mnt下面
iso9660是标准的cd文件格式,它告诉mount命令,我要
挂载的是一个标准的cd。
如果不执行这个命令,你就算是把cd放入到cd驱动器中,在
linux系统中,你也是看不到你的cd盘中的内容的。
这个命令执行完了后,你就可以在/mnt下面看到你的cd驱动
器中的cd里面的文件了。
执行和这个命令之前,要在cd上指定源文件,如下图,挂载后,打开/mnt/Package就可以找到很多安装文件了

4.yum指令

指令:配置仓库(特别强调,下面的guanpan.repo的后缀不能改,写多一个s,yum都会找不到仓库),配置仓库在/etc/yum.repos.d目录下

--linux下编辑
[root@localhost /]# cd /etc/yum.repos.d/	--跳到仓库服务器
[root@localhost yum.repos.d]# ls
packagekit-media.repo  redhat.repo  rhel-source.repo
[root@localhost yum.repos.d]# vi guanpan.repo	--创建一个仓库
--guanpan.repos编辑如下
[guanpan]
name=rhel_6.8
baseurl=file:///mnt	--file://代表协议,/mnt代表指定仓库路径
gpgcheck=1	--1代表检查签名

--linux下编辑
[root@localhost yum.repos.d]# yum clean all			--运行clean all清理缓存初始化
Loaded plugins: product-id, refresh-packagekit, search-disabled-repos, security,
              : subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: InstallMedia
Cleaning up Everything

--使用yum下载
[root@localhost yum.repos.d]# yum search telnet			--插看有无telnet包
[root@localhost yum.repos.d]# yum install telnet 		--下载telnet包,发现没有签名
[root@localhost yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM*	-加签名
[root@localhost yum.repos.d]# yum install telnet		--再执行一次,成功执行
--linux下卸载
[root@localhost yum.repos.d]# yum remove telnet

2.8 crond 定时任务

crontab 进行 定时任务的设置,。
概述
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
基本语法
crontab [选项]
常用选项

快速入门
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab –e命令。
接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt命令
参数细节说明
• 5个占位符的说明

• 特殊符号的说明

• 特定时间执行任务案例

crond 相关指令:

  1. conrtab –r:终止任务调度。
  2. crontab –l:列出当前有那些任务调度
  3. service crond restart [重启任务调度]

3 常见操作汇集

Q1.解压错误

如下

[root@Gris-11140 FMIS2600bak]# tar -zxvf /home/oradata/FMIS2600DMP.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

A1:解决方案:去掉z参数,使用 tar -xvf 解压正常

Q2.linux 下 新建目录/解压文件 自动加锁的解决办法

A2:在linux下,当我们将新下载的tar文件解压到一个新建文件或目录下,解压的文件会有自动上锁的情况,这个问题的解决方法就是用 sudo chmod 777 -R 文件或目录;执行上面这个命令需要root权限,su -,切换为root。

Q3:vim 修改文件出现错误“E45: ‘readonly’ option is set (add ! to override)”

A3:如果是root权限,可以:wq! 强行保存退出

Q4:查看后台进程是否起来了

A4:ps -ef|grep redis

-- 我在另一个界面开了redis
[admin@localhost /]$ ps -ef|grep redis
root       3877      1  0 16:48 ?        00:00:00 ./redis-server 127.0.0.1:6379
root       3881   3826  0 16:49 pts/0    00:00:00 ./redis-cli
admin      3922   3908  0 16:54 pts/1    00:00:00 grep redis
-- 我在另一个界面关了redis
[admin@localhost /]$ ps -ef|grep redis
admin      3924   3908  0 16:54 pts/1    00:00:00 grep redis

Q5:Linux连接redis客户端出现Could not connect to Redis at 127.0.0.1:6379: Connection refused

A5:服务没起来执行

 # ./redis-server ./redis.conf		--启用服务
 # ./redis-cli	--开启端口
 127.0.0.1:6379>	--成功
 
 127.0.0.1:6379> set su guowen
OK
127.0.0.1:6379> get su
"guowen"
127.0.0.1:6379> shutdown
not connected> exit
[root@localhost redis]# 


Q6:linux下如何安装jdk配置环境变量

A6:链接https://www.cnblogs.com/liugh/p/6623530.html

Q7:linux下运行java文件

A7:

--vi Demo.java后会进入正常模式,按i进入编辑模式,输入java代码,按ESC返回正常模式,按:wq保存退出
[root@localhost file]# vi Demo.java
[root@localhost file]# javac Demo.java
[root@localhost file]# java Demo
Hello suguowen
[root@localhost file]# 

Q8:linux如何下运行tomcat

A8:xftp拉linux版本的tomcat包到root的根目录,xshell登录root运行tar解压命令,进入到bin目录,./startup.sh运行即可,./shutdown.sh可以杀掉(如果linux里面有防火墙,需要添加8080端口可访问,然后重启防火墙才可以其他电脑访问)

Q9:linux发布一个项目

A9:

Q10:window10的telnet不是内部命令(安装telnet)

A10:控制面板->程序->程序和功能->启用或关闭windows功能->勾选 telnet客户端

https://jingyan.baidu.com/article/1e5468f9033a71484961b7d7.html

Q11:如何实现远程桌面功能

A11:被远程操作的电脑都需要如下设置,允许远程连接到此计算机;如果想远程别人,打开win+R输入mstsc,输入远程计算机的ip即可,如果别人设置了用户密码,也要获得账号密码才能进入(远程桌面用到了3389端口,linux远程别人用22端口)

Q12:如何远程了解到linux?

A12:使用XShell或者SecureCRT都可以,XShell只要知道linux的ip和一个用户的账号密码即可,SecureCRT要VMvare设置网络编辑器,在NAT模式设置端口转发,在桥接模式直接连就可以

Q13:如果实现端口转发?

A13:打开VMvare->编辑->虚拟网络编辑器->VMnet8 NAT模式->NAT设置->端口转发->添加->主机端口是可以随便填,虚拟机端口22不能改,填完确认应用一下即可

Q14:使用rpm安装软件

A14:打开Centos,在虚拟机的图标右击进入设置,如下配置使用rhel-server挂在进虚拟机

挂在完后,默认是在/media目录下响应的包,进入到/media/xxxx/Packages里面(xxx是你挂在的文件名),执行rpm -ivh xxx 即可安装xxx软件,执行rpm -e xxx即可卸载xxx软件

Q15:如何给linux传文件

A15:使用XFTP或者SFTP

Q16:YUM安装软件配置远程源

A16:用secureCRT远程连接虚拟机,/yum.repos.d配置源163.repo(举例),敲下图代码,http://就是配网络源文件

Q17:如果在linux使用mysql?

A17:

  180  yum search mysql-server	--寻找有没有mysql服务
  181  yum install mysql-server	--找到了就下载
  182  mysql -uroot -p			--尝试登陆,发现登陆失败,想想我们并没有开启mysql服务
  183  service mysqld start		--开启服务
  184  mysql -uroot -p			--登陆mysql

Q18:VMware虚拟机的设置无法进行编辑如何解决?

A18:https://jingyan.baidu.com/article/a17d5285c30a328098c8f2d4.html

答:一般是应为挂起了虚拟机没有关机,关机就可以编辑了

linux相关网络知识

路由器:

https://www.192ly.com/192-168-1-1/what-is-the-address-192-168-1-1.html

个人理解:家里不装路由器结果就是你只能一台电脑上网,装了可以多台电脑上网

百度理解:是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号

图解:120.230.101.47是移动给我们发的公网ip,只有一个,如果没有路由,我们就只能用一台电脑用这个ip来上网,而如果有路由器,它就会给路由器设定一个私网ip192.168.1.1,给其他电脑设定ip范围192.168.1.0~192.168.1.255之间唯一随意取一个,当我们用192.168.1.101这个ip访问一个链接比如百度的时候(发送一个包,这个包包含三个部分如下图右),路由会用公网ip替换掉我们的私有ip,再把包发出去,所以私有ip只是在我们内部使用,别人是不知道的。路由器发挥了NAT能力,即net address translate–地址转换

Vmvare:

https://www.cnblogs.com/feifei-cyj/p/7686166.html

Nat模式:虚拟机的ip可以访问本机ip提供的服务,但是本机ip不能接受虚拟机提供的服务

桥接模式:虚拟机跟本机同一个网段,可以互通

Nat模式下,让别人访问到自己

1.正常情况下,本机无法访问虚拟机ip,但我们设置转发器即可

SSH服务

安装套接字

挂载的概念

一个分区需要有一个文件夹与之对应

https://zhidao.baidu.com/question/55617971.html

OneNote上的笔记,会跟前面有重复

1.终端的概念

![计算机生成了可选文字: 终端本质上是对应巷Linux 的/dev/ 设,Linux的 多户登陆就是过不同的/dev/tty设备完成的,Linux 默认提供了6个纯命令行界面的"terminal"(准确的说这 里应该是6个virtualconsoles)来让户登录。在物理机 系统上你可I过使+[Alt]+[F1]、[F6]进行 切,不过在我们的在线实验环境中可能无法切,因为 特殊功能按鍵会被你的主机系统劫持。当你切到具中一 个终端后想要切回冬形界面,你可以按下+[Al +来麂成。](file:///assets/msohtmlclip1/01/clip_image002.png)

2.shell的概念

3.几个技巧

tab:代码补全

Ctrl+c:停止程序,相当于重开终端

4.查看用户

5.添加用户

密码不可见

6.切换用户

7.查看用户组(sudo是最高权限组)

8.为hello添加到sudo权限组

9.删除用户

10查看文件权限

11.创建文件

12.更改文件所有者7

11.查看当前路径

12相对路径跳转

13.使用绝对路径

![shiyanlou:/home/ $ pwd / home shiyanlou: /home/ $ cd /usr/src/bin cd: /usr/src/bin shiyanlou: [home/ $ cd /usr/bin shiyantou:bin/ $ pwd usr bin ](file:///assets/msohtmlclip1/01/clip_image018.png)

14跳转回home

15.新建文件

16.mkdir新建目录

17.cp复制文件到指定地方

18.cp复制目录并改名

19.rm删除文件

20.rm -r删除目录

21.mv改名

你可能感兴趣的:(Linux)