连接服务器的几种方式
- 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也就是查看前六行的后三行。