1、远程登录、远程文件传输
-
图形化界面方式(简单直观、安装图像化界面软件、配置)
xshell、filezilla -
命令行模式
> windows/macos (客户机)
$ linux (服务器-普通用户)
# linux(服务器-超级管理员)
> ssh root@121.199.29.84
使用root账号,登录ip为121.199.29.84的主机
# exit
退出登录
> scp 本地文件地址 用户名@ip:远程路径
> scp ./app.zip root@121.199.29.84:/var/www/html
将当前目录下的app.zip上传到ip为121.199.29.84 /var/www/html(使用root账号登录,如果使用普通账号登录,只能将文件传输到家目录中)
2、文件系统(路径、文件、目录)
/
/root 超级管理员的家目录
/home/charles charles用户的家目录
/home/jacky jacky用户的家目录
/etc 配置文件目录
group 组信息
passwd 账号信息
shadow 账号敏感信息(普通账号无法查看)
/var 可变目录
/opt 第三方软件安装目录 jdk,nodejs
/usr/local 默认软件安装目录 apt install
...
命令模板
命令 [option] [arguments]
pwd 打印当前所在目录
ls 列出当前目录下的子目录或文件
more 预览
回车:换行
空格:换页
q:退出
tail -10 /etc/group
查看/etc/group这个文件的后10行
man groupadd
查看groupadd这个命令的使用手册
reboot
重启
history
查看历史命令
!命令序号
执行命令序号对应的命令
!!
执行上一条命令
目录相关(普通账号默认只能对自己家目录进行目录操作)
cd [目录]
切换目录, 如果没有指定目录,默认进入自己家目录下
目录:
/ 根目录(操作系统的根)
~ 家目录(相对目录)
. 当前目录
.. 上一级目录
mkdir a
创建目录
rmdir a
删除空目录
touch f
新建文件(f不存在的时候)/修改文件最近访问时间(f存在的时候)
rm f
删除文件(由于目录也是文件,所以rm也可以删除目录)
rm -r a
删除a及a目录下的所有子目录及文件(删库跑了 sudo rm -r /)
date > a
将date函数的输出重定向到a文件中,a如果不存在,创建。会覆盖
date >> a
(重定向)将date函数的输出重定向到a文件中,a如果不存在,创建。不会覆盖
tee [] <<EOF 新一行输入EOF前有制表符将不结束
tee [] <<-EOF 新一行输入EOF忽略前的制表符
输入内容到文件,直到遇见EOF结束
cp a b
(重定向)如果a是文件,b不存在或者b也是一个文件:将a的内容复制到b中、如果a是文件,b是目录:将a复制到b中
cp -r a b
如果a为目录,必须使用-r,表示级联操作
mv a b
如果a是文件/目录,b不存在,表示重命名
如果a是文件,b是目录,表示将a移动到b中
3、用户、权限
普通用户只能在自己的家目录中创建文件、删除文件、修改文件
用户组
groupadd web-ui
增加一个web-ui组
adduser vicky
1.创建用户 vicky
2.创建组 vicky
3.将vicky添加到 vicky组中
4.建一个加目录 /home/vicky
5.将家目录的默认文件/etc/skel进行拷贝->/home/vicky
adduser --gid 1019 vicky
1.创建用户 vicky
2.将vicky添加到 1019组中
3.创建一个加目录 /home/vicky
4.将家目录的默认文件/etc/skel进行拷贝->/home/vicky
userdel -r zhangnn
将zhangnn彻底删除
id [用户名]
查看账号信息
usermod --gid=1009 larry
将larry的组id更换为1009
su - 账号
切换到指定账号下,账号如果缺省,表示切换到超级管理员下
4、文件权限
普通用户拥有自己家目录中所有的权限
- 文件
d 目录
rw-r--r--
角色:
拥有者u、同组人g、其他人o
权限:
读r、写w、执行x
修改权限chmod
一个文件的权限拥有者可以修改、超级管理员、普通管理员也可以修改
chomd g+w hello.js
为hello.js添加同组人编写的权限
rw-rw-r--
110 110 100
6 6 4
chmod 664 world.js
修改world.js文件的权限
5、vim 编辑器(命令行、插入模式、底行模式)
三种模式:命令行模式、插入模式、底行模式
- 命令行模式
打开vim编辑器,默认进入的模式,字符表示特殊的命令
x | 删除一个字符 |
---|---|
u | 回退 |
cc | 替换当前行:删除当前行;进入到插入模式 |
r | 替换一个字符 |
cw | 替换一个单词 |
dd | 删除当前行 |
dw | 删除当前单词 |
- 插入模式
命令行模式 -> 插入模式(i/a/o…)
i | insert 插入 |
---|---|
o | other 在下一行插入 |
a | append 追加 |
I | 从行首插入 |
O | 在上一行插入 |
A | 在行尾追加 |
- 底行模式
命令行-> 底行模式(’:‘或者’/'进入)
:w | 保存 |
---|---|
:w 文件名 | 另存为 |
:q | 退出 |
:wq | 保存退出 |
:q! | 强制退出 |
:5,10d | 删除5~10行 |
:1,2co3 | 拷贝行1、2到行3后 |
:4,5m6 | 移动行4、5到行6后 |
:1,$s/旧串/新串/g | 从头到尾将旧串替换成新串 |
:n | 光标进入到第n行 |
😒 | 光标进入最后一行 |
/words 回车表示查询(高亮),n或N查询下一个或上一个 | 搜索 |
6、vim配置
用户配置:~/.vimrc
全局配置:/etc/vim/vimrc
set nu 行号
set autoindent 缩进
set tabstop=2 缩进字符数
syntax on 语法高亮
懒人配置spf13
7、软件安装
- 命令行安装
# apt update
# apt install apache2
安装apache2
- 解压缩安装
jdk、nodejs
1) 下载 wget ; 本地下载,上传阿里云 (.tar.gz , .tar.xz , ...)
2) 解压
/opt # tar -xvf xxx.tar.gz
xxx 该软件的家目录
例:
/opt $ sudo tar -xvf node-v14.17.5-linux-x64.tar.xz
/opt/node-v14.17.5 nodejs的家目录
3) 环境变量配置
1. 全局
/etc/profile
2. 本地
~/.bashrc
shell编程
export NODE_HOME=/opt/node-v14.17.5
export PATH=$NODE_HOME/bin:$PATH
4) 生效
$ source .bashrc
-
编译安装
nginx、fastdfs
c开发 -> 编译 -> 运行 -
实例安装nodejs
1) 下载压缩包
/opt $ sudo wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz
2) 解压
/opt $ sudo tar -xvf node-v14.17.5-linux-x64.tar.xz
3) 环境变量配置
用户环境变量配置
~/.bashrc
~/.profile
系统环境变量配置
/etc/profile
export NODE_HOME=/opt/node-v14.17.5-linux-x64
export PATH=$NODE_HOME/bin:$PATH
4) 使生效
$ source .bashrc
$ node --version
8、进程监控、端口号查询、磁盘查询…
ps 查看当前系统进程状态
ps -aux
ps -ef
grep 搜索工具
kill -9 进程编号 强制杀死进程
service 服务名 status/restart/start/stop 控制系统服务
jobs 显示作业的状态、
ctrl + z 将当前进程停止
bg %序号 将服务在后台运行
fg %序号 将服务在前台运行
java -jar xxx.jar & 直接将该服务在后台运行
netstat -tlp 查看网络配置
lsof -i 列出打开文件,可用于查看端口号被占用的情况
curl 解析url,将url内容展示到终端中
wget 链接 下载命令