一、Linux简介
林纳斯.托瓦兹
Linux版本
企业部署软件的服务器为什么会选择Linux系统
需要使用哪些工具
使用xshell连接云服务器,登录时密码框为灰色,无法输入密码解决办法
二、Linux相关命令介绍
1、文件和目录的相关命令
2、系统管理命令
3、用户和用户组管理命令
(1)用户组管理
(2)用户管理
(3)权限相关
(4)查看磁盘和内存空间
著名的程序员、黑客,Linux内核的发明人及该计划的合作者。
有些人生来就具有统帅百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两者的人,就是托瓦兹。
美国《时代》周刊对“Linux之父”林纳斯.托瓦兹(Linux Torvalds)给出了极高的评价。甚至,在《时代》周刊根据读者投票评选出的二十世纪100位最重要的人物中,林纳斯居然排到了第15位,而从20世纪的最后几年就开始霸占全球首富称号的盖茨不过才是第17位。
Ubuntu:Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的(ubuntu)一词(译为吾帮托或乌班图)。
Red Hat:Red Hat Linux是全世界应用最广泛的Linux之一,Red Hat因其易于安装而闻名,在很大程度上减轻了用户安装程序的负担。
Centos:Centos是Community Enterprise Operating System的简称Centos正是这个Red Hat付任何的产品和服务费用,同时也得不到任何有偿技术支持和升级服务。
1、Linux系统所执行各种程序的速度是比Win要快很多。
2、在Win中我们会安装不同杀毒软件来保证计算机不被各种病毒攻击,但在Linux中你可以完全放心,只要有病毒在Linux中运行,不出几个小时Linux的各个版本都会进行更新。因为全世界的程序员都在维护它。
3、还有一点就是在Win中安装各种软件的时候很多软件都会需要计算机进行重启才可以进行使用,但在Linux中根本不需要重启计算机,每安装一种软件都会有相应的服务,只需要使用命令重启软件服务即可。
4、另外一个原因就是Win太浪费系统资源,单Linux不会,在Linux系统启动后内存与CPU消耗的资源非常的少,但Win只要一启动就会占用很大的内存。
5、在Win中进行编程的时候我们要安装不同的开发软件之类的,但在Linux我们只需要学会一种vi就可以了。
1、Xshell是一个用于Windous平台的强大的SSH,Telnet终端仿真软件。它使得用户能轻松和安全的从Windous PC上访问Linux主机。
2、Xftp是一个用于Windous平台的强大的FTP和SFTP文件传输程序,Xftp能安全的在Linux和Windous PC之间传输文件。
3、Navicat是一套快速,可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。
注:Linux系统,管理员root用户命令符号为:#,普通用户命令符号为:$
Linux命令区分大小写,对大小写很敏感。
解决方法如下:
1、使用密钥的方式登录Linux服务器。
2、vi/etc/ssh/sshd_config
3、修改最后一项为Yes:PasswordAuthentication yes
4、接着保存退出,然后重启sshd服务systemctl restart sshd.service
5、重新登录,此时已经可以输入密码。
(1)ls命令 (list directory)
功能描述:列出指定目录下的文件和文件夹名字。
格式:ls [参数] [目录或文件]
参数 | 含义 |
-a | 全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)。 |
-l | 长数据串列出,列举目录中的细节,包含权限(r/w/x/-)、所有者、组群、大小、创建日期、文件是否是链接等。(不包含隐藏文件) ps:ls -l = ll li列出当前路径下的所有文件及文件夹的详情信息。 |
-R | 递归查询,不仅查看当前目录下所包含的内容,还会把子目录的内容一并查询出来。 |
-al | 列举目录中的细节,包含权限、所有者、组群、大小、创建日期、文件是否是链接等(含隐藏文件)。 |
-r | 逆向查询,从后面向前地列举目录中的内容。 |
-s | 文件大小,以数据块(Linux中自己的一种数据大小的表示形式)的形式做表示。 |
ls -l qwer.txt |
列举文件qwer.txt的所有信息。(也可以指定目录:ls -l /root)。 |
(2)mkdir命令 (make directory)
功能描述:创建新目录
格式:mkdir [目录名1] [目录名] ...(一次性创建多个目录用空格隔开)
例如:mkdir qwer_home
参数 | 含义 |
-p |
直接将所有的目录,包含上一级目录,递归创建起来。 例如:mkdir -p qwer01/qwer02/qwer03 在使用ls -p qwer01查看递归目录。 |
(3)rmdir命令 (remove directory)
功能描述:删除空目录
格式:rmdir [参数] [目录名1] [目录名2] ...
例如:rmdir qwer_home
参数 | 含义 |
-p | 删除指定目录,如果这个指定目录被删除后,它所在的父目录为空,也会一并删除。 例如:rmdir qwer01/qwer02/qwer03 |
注:无法删除成功的可能原因:目录非空、删除的目录可能是当前目录。
(4)cd命令 (change directory)
功能描述:切换目录,改变用户所在的目录
格式:cd [目录名]
例如:cd /root
绝对路径 | 由根目录/开始写起。例如cd /root/qwer |
相对路径 | 不是由根目录写起。例如:已经在/root/qwer目录下,直接写cd qwer01/qwer02/qwer03 |
参数 | 含义 |
cd | 返回当前用户的主目录。 |
cd ~ | 返回当前用户的主目录。 |
cd .. | 返回到当前目录的上一级目录。 |
cd ../.. | 返回到当前目录的上两级目录。 |
cd / | 进入到根目录。 |
(5)pwd命令 (print work directory)
功能描述:打印用户当前所处的绝对路径
格式:pw(6)vi命令
功能描述:文本编辑器,生成新文件(文件不存在的时候)或者编辑、查看文件(文件存在)
注:是文件,不是文件夹
格式:vi [file_name](中间至少有一个空格)
例如:vi qwer_file
模式:Insert 编辑模式(点击键盘Insert按钮,或者i,a,o)标志:左下角出现--INSERT--
Esc 命令模式(点击键盘左上角Esc按钮)标志:左下角--INSERT--消失命令
参数 | 含义 |
:w | 保存文件。 |
:wq | 保存并退出。 |
:wq! | 保存并强制退出。 |
:q | 退出。 |
s | 删除一个字符。 |
$ | 光标移到文本行尾。 |
G | 光标移到文本末尾。(如果是root用户在操作,跳转到最后一行的第一个字母;其它用户则跳转到最后一个字符) |
gg | 跳转文件第一行 |
/ | 查找某个字符串。e.g: /qwer(查到当前位置第一次出现qwer的地方) |
(7)cat命令
功能描述:显示文本内容
格式:cat [文本文件名字]
例如:cat qwer_file
(8)cp命令 (copy)
功能描述:复制文件或目录
格式:cp [源文件] [目标文件夹路径(推荐使用绝对路径)]
例如:cp qwer_file qwer_home/
参数 | 含义 |
-r | 递归持续复制,用来复制文件夹。 |
-f | 强制复制。 |
-v | 详细:显示文件的复制进度。(相当于复制完成的提示工作) |
-i | 互动:如果文件将覆盖目标中的文件,他会提示确认。 |
(9)rm命令 (remove)
功能描述:用来删除文件或目录
格式:rm [文件名](会提示"是否删除***文件"这个命令不能直接删除文件)
例如:rm qwer_file2
参数 | 含义 |
-r | 删除文件夹。 |
-f | 强制删除,没有提示。 |
-rf | 强制删除文件或文件夹。 |
(10)mv命令
功能描述:移动或重命名文件与文件夹
格式:mv [源文件夹/文件] [目标文件夹/文件](重命名)
mv [源文件夹/文件] [目标文件夹](把某个文件或文件夹移动到某个文件夹里面)
例如:mv qwer_home/ qwer_0212/
mv qwer_home/ qwer_tester 将 qwer_home重命名为qwer_tester
(11)find命令
功能描述:在指定文件夹下查找文件或文件夹,并打印绝对路径。(忘记某个文件或文件夹的位置或名称时使用)
格式:find [路径] -name "文件夹或文件名字(部分名字加*,*为通配符)"
情景 | 命令 |
知道名字全称 | find / -name "qwer_file" |
只知道名字开头 | find / -name "qwer_f*" |
只知道名字结尾 | find / -name "*r_file" |
知道开头和结尾 | find / -name "qw*le" |
(12)tar命令
功能描述:压缩和解压文件
格式:
压缩:tar -cvf [压缩后的包名](建议以.tar结尾,方便识别)[想要压缩的文件]
解压:tar -xvf [压缩包的名字]
例如:
压缩:tar -cvf qwer.tar qwer01/ qwer_0212/ qwer_file
解压:tar -xvf qwer.tar
(13)tail命令
功能描述:查看文件结尾的内容(默认10行)
格式:tail [文件]
例如:tail qwer_file
参数 | 含义 |
-n | 后面接数字,表示显示几行的意思。 |
-f | 表示持续侦测后面所接的文件,要等到按下ctrl+c退出tail的侦测。 |
(14)echo命令
功能描述:在显示屏上回显字符串或者用来查看环境变量的值。(相当于打印输出print)
格式:echo [需要显示的内容]
例如:echo 'qwer2021 come on' >> qwer_file
参数 | 含义 |
>> | 表示将输出的内容追加到文件的最后一行。 |
> | 覆盖写。 |
(15)touch命令
功能描述:创建文本(但是不能插入内容)
格式:touch [文本文件名字]
例如:touch qwer_001
可以创建多个文本:touch [名字1] [名字2] [名字3]
(1)hostname命令
功能描述:显示主机名称
(2)clear命令
功能描述:清屏(这个命令将会刷新屏幕,本质上只是让终端显示页向前翻一页,如果向上滚动屏幕,还可以看到之前的操作信息。)
(3)top命令
功能描述:实时查看当前的进程,动态的,可以看到CPU最近的负载等信息。(相当于windows的任务管理器)
(4)ps命令
功能描述:用来显示当前的进程状态。(查看计算机系统中有哪些程序正在执行及执行的情况,用它来查找所有的进程ID)
格式:ps -ef | grep [进程名]
例如:ps -ef | grep nginx 查找nginx进程
参数 | 含义 |
-e | 显示所有进程。 |
-f | 显示程序间的关系。 |
选项 | 含义 |
UID | 用户ID |
PID | 进程ID |
PPID | 父进程 |
C | CPU占用率 |
STIME | 系统启动时间 |
TTY | 登入者终端机位置 |
TIME | 耗时 |
CMD | COMMAND命令,行为 |
(5)kill命令
功能描述:杀掉进程(用来终止一个正在执行中的进程)
格式:kill [进程号]
例如:kill -9 25280
选项 | 含义 |
-9 | 强制杀掉进程 |
(6)shutdown命令
功能描述:关机
(7)logout命令
功能描述:注销
(8)reboot命令
功能描述:重启
(9)ping命令
功能描述:确定网络和各外部主机的状态
格式:ping [地址] /IP
例如:ping www.baidu.com
(10)date命令
功能描述:显示或设置系统当前的时间和日期
格式:date [参数] [日期/时间]
修改日期:date -s 日期
修改时间:date -s 时间
例如:date -s 2021-12-15
修改日期:date -s 2021-12-15
修改时间:date -s 21:13:15"
同时修改日期和时间:date -s "2021-12-15 21:13:15"
(11)ifconfig命令
功能描述:显示网络设备的状态
❶cat /etc/group
功能描述:查看用户组
选项 | 含义 |
组名 | 组名是用户组的名称,右字母或数字构成。与/etc/password中的登录名一样,组名不应该重复。 |
口令 | 口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空或x。 |
组标识号 | 组标示号与用户标识类似,也是一个整数,被系统内部用来表示组,别称GID。 |
❷groupadd命令
功能描述:增加用户组
格式:groupadd [组名]
例如:groupadd qwer01zu
❸groupmod命令
功能描述:修改用户组
例如:groupmod -n qwer2zu qwer1zu (将用户组qwer1zu修改为xindeyonqwer2zu)
参数 | 含义 |
-n | 将用户组的名字修改为新名字。 |
❹groupdel命令
功能描述:删除用户组
格式:groupdel [用户组]
例如:groupdel qwer2zu
❶cat /etc/passwd
功能描述:查看用户
选项 | 含义 |
用户名 | 代表用户账号的字符串,通常长度不超过8个字符,并且由大小写字母或数字组成,登陆名中不能含有冒号(:),因为冒号在这里是分隔符,为了兼容起见。登录名中最好不要包含点字符(.),并且不适用连字符(-)和加号(+)打头。 |
口令 | 存放加密后的用户口令字,存放一个特殊的字符,例如x或*,把真正的加密后的用户口令字存放到/etc/shadow文件中。 |
用户标识号 | 是一个整数,系统内部用它来标识用户。一般情况下它于用户名是一一对应的。 |
组标识号 |
字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。 |
❷useradd命令
功能描述:增加用户
格式:useradd [用户名] [参数]
例如:useradd qwer001 -c asdf -g qwer1zu
参数 | 含义 |
-c | 指定一段注释性描述。 |
-g | 指定用户所属的用户组。 |
❸usermod命令
功能描述:修改用户
例如:
修改用户名:usermod -l qwer_1 qwer001
修改描述:usermod -c asdf qwer_1
修改用户所属的用户组:usermod -g qwer2zu qwer_1
参数 | 含义 |
-l | 指定一个新的账号,即将原来的用户名改名为新的用户名。 |
-c | 修改描述。 |
-g | 修改用户所属的用户组。 |
❹userdel命令
功能描述:删除用户
格式:userdel [用户名]
例如:userdel qwer_1
❺passwd命令
功能描述:为用户设置密码
格式:passwd [用户名]
例如:passwd qwer_1
❶su命令
功能描述:切换用户(root用户切换到其他用户不需要密码,普通用户切换到root或其他用户需要密码)
格式:su - [用户名]
例如:su - qwer_1
❷chown命令
功能描述:更改文件或文件夹的拥有者
格式:chown [用户]:[用户组] 文件/文件夹
例如:chown qwer_0:qwer1zu qwer_file
参数 | 含义 |
-R | 更改文件夹及其所有子文件(夹)的拥有者。 |
❸chmod命令
功能描述:改变文件或文件夹的权限
格式:chmod [三位数字] [文件/文件夹]
例如:chmod 777 qwer_file
权限代号 | 数字代号 | 含义 |
r | 4 | 读取权限 |
w | 2 | 写入权限 |
x | 1 | 执行或切换权限 |
- | 0 | 不具有任何权限 |
注:ps:一共有10个字符,第一个字符表示文件类型,后面9个字符表示文件权限,分为三组,每组三个字符,分别代表所属用户权限,除所属用户和同一组外的其他人权限。
文件类型 | 含义 |
- | 表示普通文件,普通文件指文本文件和二进制文件,例如:qwer_file |
d | 表示文件夹(directory)。 |
l | 表示符号连接文件,后面会用->打印出它指向的文件。 |
s | 表示socket文件。 |
p | 表示管道文件(pipe)。 |
参数 | 含义 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(以递归的方式逐个变更) |
❶df命令
功能描述:显示指定磁盘文件的可用空间
PS:重点看使用率,避免使用率超过80%
类似windows的CDEF盘总览
参数 | 含义 |
-h | 自动以KB、MB的单位显示,可读性高。 |
选项 | 含义 |
Filesystem | 磁盘 |
Size | 磁盘总大小 |
Used | 已使用磁盘大小 |
Avail | 还可用的磁盘大小 |
Use% | 磁盘使用率 |
Mounted on | 挂载到哪个目录下 |
❷du命令
功能描述:显示每个文件和目录的磁盘使用空间
参数 | 含义 |
-h | 以k(kb)、M(兆)、G为单位显示,可读性高。(最常用) |
du -sh ./*(当前目录下的所有文件和文件夹的大小)
❸free命令
功能描述:显示系统使用和空间的内存情况
参数 | 含义 |
-k | 以KB为单位显示内存情况。(默认单位l) |
-m | 以MB为单位显示内存情况。 |
-g | 以GB为单位显示内存情况。 |
选项 | 含义 |
total | 总计物理内存的大小 |
used | 已使用多大 |
free | 可用有多少 |
shared | 多个进程共享的内存总额 |
buff/cache | 磁盘缓存的大小 |
available | 可回收利用的大小 |
swap | 指的是一个交换分区或文件 |
❹netstat命令
功能描述:查看端口
例如:netstat -ntpl
❺history命令
功能描述:查看历史命令操作记录