远程工具
Linux服务器一般都是在远程,因此我们需要通过工具去连接远程服务器,
工具也是多种多样,这里推荐Xshell和Xftp
3.2 文件操作命令
cat a.txt 查看文件内容
mkdir:当前目录下创建一个空目录 -p同时创建多个嵌套文件夹
rmdir:删除目录(文件夹)
touch:生成一个空文件或更改文件的时间
cp:复制文件或目录
cp [源文件] [目标文件夹路径(推荐使用绝对路径)]
cp a.txt -rf c/
参数含义
-r递归持续复制,用来复制文件夹。
-f强制复制-v详细:显示文件的复制进度。
mv:移动文件或目录、文件或目录改名
mv /home/admin/b/a /home/admin/a
【移动a.txt到a文件夹】
-r递归持续复制,用来复制文件夹。-f强制复制-v详细:显示文件的复制进度。
(相当于复制完成的提示工作)-i互动:如果文件将覆盖目标中的文件,
他会提示确认。
rm:删除文件或目录 -rf强制删除
参数含义:
-r/R删除文件夹。-f强制删除,没有提示。-rf强制删除文件或文件夹。
3.3文本编辑
vim a.txt
模式:
Insert
编辑模式(点击键盘insert按钮,或者i,a,o)
标志:左下角出现-- INSERT --
Esc
命令模式(点击键盘左上角Esc按钮)
标志:左下角-- INSERT -- 消失
命令模式下可执行操作含义:w保存文件。:wq保存并退出。
:wq!保存并强制退出。:q退出。x删除一个字符。
$光标移到文本的行尾。G光标移到文本的末尾。
(如果是root用户在操作,跳转到最后一行的第一个字母;其他用户则跳转到最后一个字符)gg跳转文件第一行。
/查找某个字符串,例如:/caituotuo(表示查到当前位置第一次出现caituotuo的地方)
3.1目录操作命令
可用 ls 查看周围目录
可用 ll 查看文件夹数量
可用 pwd 打印用户当前所处的绝对路径。
可用 cd 命令来切换目录
.表示当前目录 ./
.. 表示当前目录的上一级目录(父目录)
/表示根目录
~ 表示用户主目录的绝对路径名
cd ~返回当前用户的主目录。cd ..返回到当前目录的上一级目录。
cd ../..返回到当前目录的上两级目录。cd /进入到根目录。
cd d: window 切换D盘
绝对路径:
以斜线(/)开头 ,描述到文件位置的完整说明 ,任何时候你想指定文件名的时候都可以使用
相对路径 :
不以斜线(/)开头 ,指定相对于你的当前工作目录而言的位置 ,可以被用作指定文件名的简捷方式
tips:输入命令的时候要常用tab键来补全
pwd 打印用户当前所处的绝对路径。
ls:显示周围文件或目录信息
ln:建立链接文件
find:查找文件或文件夹
find / -name abc*
file/stat:查看文件类型或文件属性信息
cat:查看文本文件内容
tar: 压缩
tar -cvf chs.tar bcbx_chs3.txt
tar -xvf chs.tar
more:可以分页看
less:不仅可以分页,还可以方便地搜索,回翻等操作
tail a.txt文件 例如 tail a
tail -10: 查看文件的尾部的10行
head -20:查看文件的头部20行
4.系统管理命令
hostname
hostname i
参数含义-i显示主机的ip地址。
top
实时查看当前的进程,动态的,可以看到CPU最近的负载等信息。
(相当于Windows的任务管理器)
shutdown命令
功能描述:关机。
logout命令
功能描述:注销。
reboot命令
功能描述:重启。
ping命令
功能描述:确定网络和格外部主机的状态。
格式:ping [地址]
例如:ping www.baidu.com
df命令
df -h
功能描述:显示指定磁盘文件的可用空间。
重点看使用率,避免使用率超过80%。
du命令
du -sh ./*
功能描述:显示每个文件和目录的磁盘使用空间。
-s:表示只显示总和,而不是每个指定文件的磁盘使用情况。
-h:表示以易读的方式显示磁盘使用情况,使用K(千字节)、M(兆字节)、G(吉字节)等单位。
free命令
功能描述:显示系统使用和空间的内存情况。
total总计物理内存的大小
used已使用多大
free可用有多少
shared多个进程共享的内存总额
buff/cache磁盘缓存的大小
available可回收利用的大小
swap指的是一个交换分区或文件
netstat命令
功能描述: 查看端口。
例如:netstat -ntpl
参数含义
-n直接使用IP地址,而不通过域名服务器。
-t显示TCP传输协议的连线状况。
-p显示正在使用Socket的程序识别码和程序名称。
-l显示监控中的服务器的Socket。
uname -n:显示主机名称。
参数含义-a/--all显示全部信息
-m/--machine显示电脑类型
-n/--nodename显示在网络上的主机名称
-r/--release显示操作系统的发行编号
-s/--sysname显示操作系统名称
-v显示操作系统的版本
--version显示操作系统版本信息
cat /proc/meminfo:查看内存使用情况。(当然也可以使用top、free)
who 查询当前登录在系统上的用户信息。
-m显示执行该命令的登录用户信息
who am i等同于who -mwhoami查询当前有效用户的用户名
ps命令
功能描述:用来显示当前的进程状态。(
查看计算机系统中有哪些程序正在执行及执行的情况,用它来查找所有的进程ID)
参数含义-e显示所有进程。-f显示程序间的关系。
格式:ps -ef | grep [进程名]
例如:ps -ef | grep nginx(查看nginx进程的状态)
UID PID PPID C STIME TTY TIME CMD
选项含义UID用户ID
PID进程ID
PPID父进程
C CPU占用率
STIME系统启动时间
TTY登入者的终端机位置
TIME耗时
CMD COMMAND命令,
杀死某个进程 -9表示强制
kill -9 25280
echo
echo:把内容重定向到指定的文件中 ,有则打开,无则创建
弄变量
name=gpc
echo $name
重新文件
echo gpc > a.txt
追加文字
echo gpc >> a.txt
grep命令
grep(global search regular expression)是一个强大的文本搜索工具。
grep 使用正则表达式搜索文本,并把匹配的行打印出来。
格式:grep [options] PATTERN [FILE...]
PATTERN 是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号将RE括起来。
FILE 是要查找的文件,可以是用空格间隔的多个文件,
也可是使用Shell的通配符在多个文件中查找PATTERN,
省略时表示在标准输入中查找。
grep命令不会对输入文件进行任何修改或影响,可以使用输出重定向将结果存为文件
例子:
在文件 myfile 中查找包含字符串 mystr的行
grep -n mystr myfile
显示 myfile 中第一个字符为字母的所有行
grep '^[a-zA-Z]' myfile
在文件 myfile 中查找首字符不是 # 的行(即过滤掉注释行)
grep -v '^#' myfile
列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
grep -lr root /etc/*
Shell环境变量:
- 环境变量定义 Shell 的运行环境,保证 Shell 命令的正确执行。
- Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。
- 所有环境变量都是全局变量(即可以传递给 Shell 的子进程),并可以由用户重新设置。
Shell 变量大致可以分为三类:
内部变量:
由系统提供,用户只能使用不能修改。
环境变量:
这些变量决定了用户工作的环境,它们不需要用户去定义,
可以直接在 shell 中使用,其中某些变量用户可以修改。
用户变量:
由用户建立和修改,在 shell 脚本编写中会经常用到。
变量赋值(定义变量)
varName=Value
export varName=Value
引用变量$varName
Shell变量的作用域:
局部变量与全局变量互换:
可以使用 export 内置命令将局部变量设置为全局变量。
可以使用 export 内置命令将全局变量设置为局部变量。
Shell环境变量:
环境变量定义 Shell 的运行环境,保证 Shell 命令的正确执行。
Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。
所有环境变量都是全局变量(即可以传递给 Shell 的子进程),并可以由用户重新设置。
Shell变量:查询、显示和取消:
显示当前已经定义的所有变量
所有环境变量:env
所有变量和函数(包括环境变量) set
显示某(些)个变量的值
echo $NAME1 [$NAME2 ……]
取消变量的声明或赋值
unset <NAME>
vim
文本编辑器,生成新文件(文件不存在的时候)或者编辑、查看文件(文件存在)
vim a.txt
按 Esc 进去normal
Normal 模式下,用户按冒号 :即可进入 Command 模式,
此时 vim 会在显示窗口的最后一行 (屏幕的最后一行)
显示一个 “:” 作为 Command 模式的提示符,等待输入命令。
:w 保存当前编辑文件,但并不退出
:w newfile 存为另外一个名为 “newfile” 的文件
:wq 用于存盘退出Vi
:q! 用于不存盘退出Vi
:q用于直接退出Vi (未做修改)
按 insert or 按 i 进入编辑模式
非编辑模式下:
gg 回到文件开头
G 去文件末尾
$ 去当前行末尾
/abc 就代表在文件里查找abc
find
常用命令
top命令
功能描述:实时查看当前的进程,动态的,可以看到CPU最近的负载等信息。(相当于Windows的任务管理器)
ps命令
功能描述:用来显示当前的进程状态。
(查看计算机系统中有哪些程序正在执行及执行的情况,用它来查找所有的进程ID)
参数含义-e显示所有进程。-f显示程序间的关系。格式:ps -ef | grep [进程名]
例如:ps -ef | grep nginx(查看nginx进程的状态)
选项含义UID用户ID
PID进程ID
PPID父进程CCPU占用率
STIME系统启动时间
TTY登入者的终端机位置
TIME耗时
CMDCOMMAND命令,行为
kill命令
功能描述:杀掉进程(用来终止一个正在执行中的进程)
格式:kill [进程号]
例如:kill -9 25280
参数含义-9强制杀掉进程
shutdown命令
功能描述:关机。
logout命令
功能描述:注销。
reboot命令
功能描述:重启。
ping
测试主机之间网络的连通性
功能描述:确定网络和格外部主机的状态。
格式:ping [地址]
例如:ping www.baidu.com
ps \ pstree
显示进程快照
查看这个进程
lsof -i tcp:8080
kill \ killall \ pkill
杀进程
shutdown
关机
Ctrl+d
退出当前登录的 Shell 的快捷键。
export
设置或者显示环境变量。
cal 看日历
date 看时间
修改时间
sudo date 月日时分年
sudo date 0712122318
sudo
以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件允许的命令。
查看电脑IP
ifconfig en0 inet
{
鼠标覆盖一个花括号,按%就看可以找到对应的花括号
}
去主配置编辑,包含某个文件
include extr/*.conf;
查看最后5行
tail -5 nginx.conf
ps -ef|grep ngix
查看nginx状态
终端 top+回车+1看cpu
nginx -s reload
改了配置一定要重启
which node
nginx -?|-h
用户和用户组管理命令
我常用命令
查看系统占用端口情况
netstat -ano | findStr 80