连接服务器的几种方式
- git bash
- mac shell
- xshell 4
- xftp4
连接服务器命令ssh root@0.0.0.0
其中ssh
是一种协议,root
表示连接的服务器用户名,0.0.0.0
表示服务器的公网ip地址。
exit
命令可以退出服务器。
Linux常见命令
常见目录
目录 | 用途 | 常见目录 |
---|---|---|
/ | 根目录 | |
/boot | 启动文件 | |
/dev | 设备文件 | |
/etc | 配置文件 | 比如服务器上的nginx的配置文件就存放在/etc中 |
/home | 普通用户的家目录,可操作 | |
/lib | 系统库保存目录 | |
/mnt | 移动设备挂载目录 | |
/media | 光盘挂载目录 | |
/misc | 磁盘挂载目录 | |
/root | 超级用户的家目录,可操作 | |
/tmp | 临时目录 | |
/proc | 正常运行的内核信息映射,主要输出进程信息,内存资源信息和磁盘分区 | |
/sys | 硬件设备的驱动程序信息 | |
/var | 变量 | |
/bin | 普通的基本命令存放目录 | 比如ls,chmod等,一般用户也可以使用 |
/sbin | 基本的系统命令 | 比如shutdown,reboot,用于启动系统,修复系统,只有管理员才可以使用 |
/use/bin | 后期安装的一些软件运行脚本 | |
/use/sbin | 用户安装的系统管理的必备程序 |
常见命令
命令提示符
[root@wang.haoyu ~]#
- root表示当前登陆用户
- wang.haoyu表示主机名
- ~ 表示当前所在目录
- #表示提示符,
#
表示当前是超级管理员,$
表示普通用户
命令格式
- 命令 [选项] [参数]
- 当有多个选项时可以放在一起
- 一般参数有两种方式,简化和完整版。比如
-a
和-all
等效。
文件查看命令
ls
-
查询目录中的内容
-
`ls [选项] [文件或目录]
-
常见选项配置 | 选项 | 描述 | | --- | --- | | -a | 显示所有文件,包含隐藏文件 | | -l | 显示详细文件信息 | | -d | 查看目录本身属性而非子文件 | | -h | 人性化方式显示文件大小 |
-
默认
ls
查询当前目录下的列表。
ls -l
选项配置
-l
选项意思为显示文件详细信息,比如下方:
-rw-r--r-- | root | root | 0 | 8月 1 13:57 | 1.txt |
---|---|---|---|---|---|
文件类型和权限 | 所有者 | 所有组 | 文件大小 | 修改时间 | 文件名 |
文件处理命令
mkdir
mkdir [-options] [name]
默认下mkdir
命令不能递归创建文件目录,比如mkdir a/c.txt
表示在当前目录的a
文件夹中创建c.txt
,但是如果当前目录并不存在a
文件夹那么就会创建失败。
-p
参数表示可以递归创建,比如mkdir -p a/c.txt
,及时当前目录下不能存在a
文件夹那么使用-p
命令也会递归创建a
文件夹,之后在a
文件夹中在创建c.txt
。
cd
cd
表示切换到所在目录
cd [目录]
cd ~
切换到家目录cd .
当前目录cd ..
上一级目录
pwd
pwd
表示打印当前目录
rmdir
rmdir [目录名]
表示删除空目录。如果rmdir
被删除的目录下非空,那么就会删除失败。
rm
rm
表示删除文件或者目录.
选项 | 描述 |
---|---|
-r | rm 本身只能删除文件,加上-r 选项可以删除目录(循环的,递归的删除目录),但是他会询问你每次删除的文件和你确认是否需要删除 |
-f | -f 选项可以强制删除,不进行提示,直接强制删除。 |
cp
cp [源文件或者目录] [目标文件]
表示复制命令,复制源文件/目录到目标文件去。
-f
复制目录,默认是复制文件。-i
会在复制文件的时候给提示,如果复制的目标文件存在则会在复制时候提示是否覆盖。
mv
mv
表示移动命令
mv [源文件或者目录] [目标文件]
ln
ln
连接命令,表示生成连接。日常用生成软连,软连接可以理解为生成快捷方式
。
ln -s [源文件] [目标文件]
-s
配置参数表示生成软连接。
- 修改任意一个文件,另一个就会变化。
- 删除源文件,软链接不能使用了。
- 软连接文件必须写绝对路径。
软连接的作用: 比如我们有一个软件需要使用java
的命令,而java
的命令是写死的在\usr\bin\java
中去查找这个命令,但是我们安装的时候装到了\home\bin\java
中去了,这个时候就可以通过ln -s \home\bin\java \usr\bin\java
建立一个软连接,这样就可以读到这个命令了。
文件搜索命令
locate
(需要额外安装yum install mlocate -y
)
- 在后台搜索按文件名搜索,搜索比较快。
- 数据保存在
/var/lib/mlocate/mlocate.db
中。 - 可以直接调用
updatedb
命令立即更新数据库。(默认一天更新一次) - 只能搜索文件名。
whereis/which
- 这两个命令都是查找命令的命令。
whereis
可以查看shell
自带的命令,而which
无法查看shell
自带命令。
环境变量
当我们在命令行中输入命令的时候,系统会在环境变量中去寻找,如果都没有就无法找到这个命令。
- 环境变量定义的是系统搜索命令的路径
echo $PATH
,查看环境变量。echo
相当于console.log
,意思也就是打印环境变量的路径变量
:
分割了四个环境变量查找目录地址。比如当我们输入ls
时候,就会依此去这四个目录中去找。
操作系统的多用户的,用户变量仅仅针对当前用户生效。系统变量针对所有用户生效。
find
- 文件搜索命令
find [搜索范围] [搜索条件]
- 按文件名称搜索
find / -name 11.txt
查找根目录下所有name为11.txt的文件。 - 通配符查找,
.
表示完全匹配?
匹配任意一个字符[]
配置[]
中任意一个字符
-i
不区分大小写。find -iname . AB[cdef].txt
-user
按照用户查找find /root -user root
查找/root
下,用户为root
的文件- 按照时间搜索,
find . -mtime +5
。表示查看当前目录下5天前修改的文件列表。
参数 | 描述 |
---|---|
-mtime +5 | 表示5天前 |
-mtime -5 | 表示5天之内 |
-mtime 5 | 表示第5天 |
- 按照大小查找
k
小写,M
大写。find . -size +0k
查找当前目录下大于0K
的文件 | 参数 | 描述 | | --- | --- | | -size -8k | 小于8k | | -size +8k | 大于8k | | -size +8M | 大于8M | | -size -8M | 小于8M |
综合应用
find /tem -size +10k -a -size -20k
表示查找/tem
下大于10k小于20k的文件。
-
-a
表示and
,逻辑与,需要两个都满足。 -
-o
表示or
,逻辑或,两个条件满足一个就可以。
grep
grep
表示在当前文件找到符合匹配字符串。
-i
忽略大小写。-v
排除指定字符串。
grep
命令表示在文件中搜索符合条件的字符串。
grep b a.txt // 查找a.txt中关键字为`b`的行
grep -v b a.txt // 查找a.txt中排除关键字的`b`行
grep -i f a.txt // 忽略大小写查找a.txt中字符为`f`的匹配行
zip
压缩目录
功能 | 命令 |
---|---|
压缩文件 | zip [压缩文件名].zip [源文件] |
压缩目录 | zip -r [压缩文件名].zip [源文件] |
解压 | unzip [压缩文件名].zip |
注意
centeros
中已经默认移除了zip unzip
命令,需要自己安装。
gzip
gzip
为高压,可以把文件压缩的更小gzip
不支持目录
命令 | 实例 | 描述 |
---|---|---|
gzip [源文件] | gzip book.txt | 默认gzip 会将源文件干掉 |
gzip -c [源文件] > [压缩文件] | gzip -c book.txt > book.gz | 这个时候既会压缩成book.gzip 也会保留源文件book.txt |
gzip -r [源文件] | gzip -r book | 压缩文件目录,注意gzip 无法压缩文件目录,使用-r 参数会压缩目录中的所有文件,但是外层目录没有任何影响 |
gzip -d [压缩文件名] | gzip -d 1.txt.gz | 解压1.txt.gz 成为1.txt ,不保留压缩包 |
gunzip [压缩文件] | gunzip 2.txt.gz | 解压缩文件,不保留压缩包 |
tar
tar
打包命令,只打包不压缩。
-
tar -cvf [打包文件名] [源文件]
-
-c
打包 -
-v
显示过程 -
-f
指定打包后的文件名tar -cvf book.tar book // 会打包出来一个book.tar
-
x
参数,解开tar
包
tar -xvf book.tar
解开book.tar
包
tar.gz
压缩格式
zip
可以压缩目录但压缩率不高,gzip
压缩效率高但是不支持压缩目录
所以日常我们先将文件目录打包为tar
格式,在进行gzip
压缩。变成[xxx].tar.gzip
格式,就比如nodejs
官网的下载就是tar.gzip
的格式。
命令 | demo | 含义 |
---|---|---|
tar -zcvf [压缩包名].tar.gz 源文件 | tar -zcvf book.tar.gz book | 可以先将book 目录打包成book.tar 然后对于book.tar 压缩成为book.tar.gz |
tar -zxvf [压缩包名].tar.gz | tar -zxvf book.tar.gz | 解压book.tar.gz 包 |
nodejs
官网针对mac
的都是xxx.tar.gz
格式。
关机和重启命令
shutdown
shutdown
关机命令。
-c
取消前一个关机命令-h
关机-r
重启
shutdown -r 06:00 // 表示让服务器在6点重启
shutdown -c // 取消上一个关机命令 (6点的重启任务)
init
命令 | 含义 |
---|---|
init 0 | 关机 |
init 6 | 重启 |
logout
logoout
退出登陆命令。
查看用户登陆信息
w
w
命令查看当前登陆服务器的用户。
last
命令
last
命令表示查看当前登陆和过去登陆的用户信息
lastlog
命令
lastlog
查看登陆过的用户log信息。
文件命令
vi
vi
命令表示进行文件内容编辑。
cat
cat
命令表示查看文件内容,将文件内容列出。
more
more
和cat
类似都是查看文件内容,但是cat
是将文件所有内容列出,而more
是将文件内容进行分页查看(对于大文件更加友好)。空格键 表示下一页,b表示上一页
。
head
head
命令表示查看文件开头第几行。
head -2 1.txt // 表示查看1.txt的前两行
tail
tail
命令和head
相反,表示查看后几行。
tail -2 1.txt // 表示查看1.txt后两行
tail -f 1.txt
表示监听1.txt
文件的变化,是实时的,如果1.txt
有变化那么控制台会试试打印出来。这对于服务器日志调试特别有用,跟踪文件变化。
联合命令
利用|
管道符,|
管道符表示将上一个的结果输出个下一个,比如
head -6 1.txt | tail -3
表示查看1.txt
的前6行,然后通过|
将前六行的结果输出给tail -3
也就是查看前六行的后三行。