提示:前提是买好一个云服务器(记好公网ip和密码)!或者用虚拟机都可以
文章目录
登录云服务器
有的电脑终端不支持ssh命令,则需要下载xshell或者putty使用即可,都是无脑下载,一直next,不会的找教程;
以下是使用终端的案例:
如果出现以上提示信息则证明成功登录云服务器,若是密码一致输入错误,则可去阿里云或者腾讯云(购买服务器的平台)控制台重置服务器密码;
文件系统介绍
Linux系统中是没有文件夹与文件的,而被称作目录和文件;
/ 代表根目录 下面会有各种子目录和文件
根目录下的每个子目录其所放置的文件都都不同;
/bin
存放的是可执行文件和一些经常会使用的一些指令 cat ls more ps mkdir
/boot
放置的是开机时会使用到的一些文件 包括系统核心文件
/dev
也成为设备目录 包含的一些文件是对应连接到计算机的一些设备 在linux系统中 任何设备都是以文件的形态存在于这个目录中
/etc
系统的主要配置文件几乎都放置在这个目录
比如passwd 存的是系统的账号信息
/opt
安装附加软件包一般会存在这个目录下
jdk mysql node
/mnt
如果暂时挂载一些额外的设备 一般建议放到这个目录中
/lib
放置一些开机时会用到的函数库
/media
放置一些可移除的设备 软盘 光盘等
/tmp
暂时放置一些文件 所以需要定时清理
建议不要存放重要的数据
/usr
/usr/bin 一般用户能够使用的指令 都放在这里
/usr/lib 库函数
/var
放置变量数据 经常会变动的一些文件
/home
家目录 每一个用户都会在/home下有自己对应的文件夹,通过cd ~到达;
一些简单命令的使用
命令一定要用空格去分割,严格区分大小写
单行命令的字符不要超过256
cd [目录]
cd ~ 返回家目录
cd / 返回根目录
cd …/ 返回到上一层目录
相对路径:
cd bin
cd …/
绝对路径:
cd /bin/
pwd 查看当前的绝对路径
clear 清除屏幕内容
history 列出历史命令
–help 查看命令的使用方式 比如 ls --help
man 查看指定命令的手册 比如 man ls
进入手册输入q退出
ls
ls / 显示根目录下的所有文件
ls -a 显示所有文件 包含隐藏文件
ls -l 使用长列表 列出所展示的文件
ls-l之后文件展示的样子:
drwxr-xr-x 22 root root 4096 May 25 17:53 lib
d 文件类型
d:目录 -:文件 l:链接 b:存储的设备 c:键盘 鼠标
rwx r-x r-x 权限:
拥有者 同组人 其他人 read write exe
22 链接号
root 拥有者
root 拥有组
4096 大小
May 25 17:53 最后一次修改的时间
lib 目录、文件名
用户的创建
创建用户:
sudo useradd user1
sudo adduser user2
建议使用 sudo adduser user2
能直接更快捷的创建用户,直接帮我们创建了组、用户以及密码设置等等信息,前一个useradd还需要手动使用命令去创建其他信息;
root@iZuf63dupetlzjthzmdy5iZ:/# cd home
root@iZuf63dupetlzjthzmdy5iZ:/home# ls
admin
root@iZuf63dupetlzjthzmdy5iZ:/home# adduser user1
Adding user `user1' ...
Adding new group `user1' (1001) ...
Adding new user `user1' (1001) with group `user1' ...
Creating home directory `/home/user1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for user1
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
root@iZuf63dupetlzjthzmdy5iZ:/home# ls
admin user1
root@iZuf63dupetlzjthzmdy5iZ:/home#
查看用户账号信息:
使用sudo cat /etc/passwd
命令;
用户信息解析如下:
user1❌1001:1001:,:/home/user1:/bin/bash
user2❌1002:1002::/home/user2:
查看用户密码信息:
使用sudo cat /etc/shadow
命令;
user1:$6$uUqS8DpJ$ix/fk3O7L0Zlp2xqy.:/fZvVFLO55ZFg.a1bUM3LeXTSBygUig8Luw/DMP8tYNXvu.:19209:0:99999:7:::
user2:!:19209:0:99999:7:::
账户名
user1:
密码
6
6
6uUqS8DpJ$ix/fk3O7L0Zlp2xqy.:
最近更新密码的日期
19209:
密码不可以被修改的天数
0:
密码需要被修改的天数
99999:
密码需要被修改的天数提前提醒
7:
账号失效日期
:
保留
:
如果用户未设置密码,则密码区域显示!
设置用户密码:
使用sudo passwd user2
命令
删除账号:
使用命令sudo userdel -r user3
命令
会删除一系列用户信息:
删除 /etc/passwd中的账号信息
删除 /etc/shadow中的账号密码信息
删除 /etc/group中的账号信息
删除 /etc/gshadow中的账号信息
root@iZuf63dupetlzjthzmdy5iZ:/# userdel -r user1
userdel: user1 mail spool (/var/mail/user1) not found
root@iZuf63dupetlzjthzmdy5iZ:/# cd home
root@iZuf63dupetlzjthzmdy5iZ:/home# ls
admin
root@iZuf63dupetlzjthzmdy5iZ:/home#
有关账户的个人文件:
账号的个人文件 /home/user3
账号的个人文件 /var/mail/user3
小组的创建
创建小组:
命令:sudo groupadd group1
查看小组的信息:sudo cat /etc/group
group1:x:1004:
组名 :密码:gid:
修改小组密码:gpasswd group1
查看小组密码的信息:sudo cat /etc/gshadow
group1:!::
删除小组:sudo groupdel group1
切换用户登录
命令:su -user1
文件管理相关命令
创建目录
命令:mkdir test1
root@iZuf63dupetlzjthzmdy5iZ:/# mkdir test1
root@iZuf63dupetlzjthzmdy5iZ:/# ls
bin dev home initrd.img.old lib64 media opt root sbin sys test.txt usr vmlinuz
boot etc initrd.img lib lost+found mnt proc run srv test1 tmp var vmlinuz.old
同时创建多个目录
命令:mkdir user1 user2 user3
root@iZuf63dupetlzjthzmdy5iZ:/# mkdir test2 test3
root@iZuf63dupetlzjthzmdy5iZ:/# ls
bin dev home initrd.img.old lib64 media opt root sbin sys test2 test.txt usr vmlinuz
boot etc initrd.img lib lost+found mnt proc run srv test1 test3 tmp var vmlinuz.old
创建级联目录
命令:mkdir -p user4/user/user
root@iZuf63dupetlzjthzmdy5iZ:/# mkdir -p test4/test5
root@iZuf63dupetlzjthzmdy5iZ:/# ls
bin etc initrd.img.old lost+found opt run sys test3 tmp vmlinuz
boot home lib media proc sbin test1 test4 usr vmlinuz.old
dev initrd.img lib64 mnt root srv test2 test.txt var
root@iZuf63dupetlzjthzmdy5iZ:/# cd test4
root@iZuf63dupetlzjthzmdy5iZ:/test4# ls
test5
移动文件或目录
命令:mv user1 user2
root@iZuf63dupetlzjthzmdy5iZ:/# mv test1 test2
root@iZuf63dupetlzjthzmdy5iZ:/# cd test2
root@iZuf63dupetlzjthzmdy5iZ:/test2# ls
test1
root@iZuf63dupetlzjthzmdy5iZ:/# mv test.txt test2/test1
root@iZuf63dupetlzjthzmdy5iZ:/# cd test2/test1
root@iZuf63dupetlzjthzmdy5iZ:/test2/test1# ls
test.txt
拷贝文件或者目录
命令:cp text3 test4
cp -r user22/ ../user1
root@iZuf63dupetlzjthzmdy5iZ:/test4# ls
test5
root@iZuf63dupetlzjthzmdy5iZ:/# cp test3/test31.txt test4
root@iZuf63dupetlzjthzmdy5iZ:/# cd test4
root@iZuf63dupetlzjthzmdy5iZ:/test4# ls
test31.txt test5
创建文件
命令:touch a.txt
vi b.txt
root@iZuf63dupetlzjthzmdy5iZ:/test4# touch a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test4# ls
a.txt test31.txt test5
root@iZuf63dupetlzjthzmdy5iZ:/test4# vi b.txt
root@iZuf63dupetlzjthzmdy5iZ:/test4# root@iZuf63dupetlzjthzmdy5iZ:/test4# ls
a.txt b.txt test31.txt test5
删除目录或文件
命令:rmdir test1
删除空目录
命令:rm -r test4
级联删除,将test4目录以及目录中的文件都删除
命令:rm a.txt b.txt
同时删除多个文件
命令:rm a.txt b.txt
同时删除多个目录
root@iZuf63dupetlzjthzmdy5iZ:/# ls
bin dev home initrd.img.old lib64 media opt root sbin sys test3 test7 usr vmlinuz
boot etc initrd.img lib lost+found mnt proc run srv test2 test4 tmp var vmlinuz.old
root@iZuf63dupetlzjthzmdy5iZ:/# rmdir test7
root@iZuf63dupetlzjthzmdy5iZ:/# ls
bin dev home initrd.img.old lib64 media opt root sbin sys test3 tmp var vmlinuz.old
boot etc initrd.img lib lost+found mnt proc run srv test2 test4 usr vmlinuz
root@iZuf63dupetlzjthzmdy5iZ:/# rm -r test2
root@iZuf63dupetlzjthzmdy5iZ:/# ls
bin dev home initrd.img.old lib64 media opt root sbin sys test4 usr vmlinuz
boot etc initrd.img lib lost+found mnt proc run srv test3 tmp var vmlinuz.old
root@iZuf63dupetlzjthzmdy5iZ:/test4# root@iZuf63dupetlzjthzmdy5iZ:/test4# ls
a.txt b.txt test31.txt test5
root@iZuf63dupetlzjthzmdy5iZ:/test4# rm a.txt b.txt
root@iZuf63dupetlzjthzmdy5iZ:/test4# ls
test31.txt test5
修改文件权限相关命令
查看文件权限:ls -l
root@iZuf63dupetlzjthzmdy5iZ:/# ls -l
total 88
drwxr-xr-x 2 root root 4096 Aug 2 11:04 bin
drwxr-xr-x 3 root root 4096 Sep 6 2017 boot
drwxr-xr-x 19 root root 3760 Aug 2 11:38 dev
drwxr-xr-x 91 root root 4096 Aug 5 10:20 etc
drwxr-xr-x 3 root root 4096 Aug 5 10:06 home
lrwxrwxrwx 1 root root 32 Sep 6 2017 initrd.img -> boot/initrd.img-4.4.0-93-generic
lrwxrwxrwx 1 root root 32 Aug 17 2017 initrd.img.old -> boot/initrd.img-4.4.0-62-generic
drwxr-xr-x 20 root root 4096 Aug 17 2017 lib
drwxr-xr-x 2 root root 4096 Aug 17 2017 lib64
drwx------ 2 root root 16384 Aug 17 2017 lost+found
drwxr-xr-x 4 root root 4096 Aug 17 2017 media
drwxr-xr-x 2 root root 4096 Feb 16 2017 mnt
drwxr-xr-x 2 root root 4096 Feb 16 2017 opt
dr-xr-xr-x 117 root root 0 Aug 2 11:07 proc
drwx------ 8 root root 4096 Aug 5 10:53 root
drwxr-xr-x 21 root root 700 Aug 5 10:43 run
drwxr-xr-x 2 root root 12288 Sep 6 2017 sbin
drwxr-xr-x 2 root root 4096 Feb 16 2017 srv
dr-xr-xr-x 13 root root 0 Aug 2 19:07 sys
drwxr-xr-x 2 root root 4096 Aug 5 11:08 test1
drwxrwxrwt 7 root root 4096 Aug 5 11:05 tmp
drwxr-xr-x 10 root root 4096 Aug 17 2017 usr
drwxr-xr-x 12 root root 4096 Aug 4 14:38 var
lrwxrwxrwx 1 root root 29 Sep 6 2017 vmlinuz -> boot/vmlinuz-4.4.0-93-generic
lrwxrwxrwx 1 root root 29 Aug 17 2017 vmlinuz.old -> boot/vmlinuz-4.4.0-62-generic
d 文件类型 d:目录 -:文件 l:链接 b:存储的设备 c:键盘 鼠标
rwx r-x r-x 权限: 拥有者 同组人 其他人 read write exe
22 链接号
root 拥有者
root 拥有组
4096 大小
May 25 17:53 最后一次修改的时间
lib 目录、文件名
改变文件所属群组:chgrp users note.txt
前提是users必须存在于 /etc/group中
改变目录的所属群组
- 仅改变user1本身的组 user1目录下其他文件组不受影响
sudo chgrp users user1
- 改变user1本身的组以及user1目录下其他文件的组
sudo chgrp -R users user1
改变文件、目录的拥有者
前提:确保新的拥有者是已经存在在系统中的账号,也就是在/etc/passwd中有记录
改变文件的拥有者 chown root test.txt
改变目录的拥有者 sudo chown root user1
sudo chown -R root user1
同步修改文件、目录的拥有者和组 sudo chown ubuntu:ubuntu user1
sudo chown -R ubuntu:ubuntu user1
修改文件权限
方式1
9种
r:4 w:2 x:1
rwx rwx r-x
7 7 5
rwx rwx rwx
7 7 7
r-- r-- r–
4 4 4
r-x -wx rw-
5 3 6
rwx — —
7 0 0
chmod 777 user22
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls -l
total 4
-rw-r--r-- 1 root root 8 Aug 6 09:00 a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# chmod 777 a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls -l
total 4
-rwxrwxrwx 1 root root 8 Aug 6 09:00 a.txt
**方式2**
u g o a(all)
rwx
chmod u=rwx,g=r,o=r user22
chmod u=rwx,go=r user22
chmod a=rwx user22
chmod a+x user22
chmod a-x user22
chmod o-x user22
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls -l
total 4
-rwxrwxrwx 1 root root 8 Aug 6 09:00 a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# chmod u=rwx,g=r,o=r a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls -l
total 4
-rwxr--r-- 1 root root 8 Aug 6 09:00 a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# chmod a=rwx a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls -l
total 4
-rwxrwxrwx 1 root root 8 Aug 6 09:00 a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# chmod a-x a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls -l
total 4
-rw-rw-rw- 1 root root 8 Aug 6 09:00 a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# chmod o+x a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls -l
total 4
-rw-rw-rwx 1 root root 8 Aug 6 09:00 a.txt
文件压缩与解压
方式一:gzip
压缩
命令:gzip a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# gzip a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls
a.txt.gz b.txt c.txt
压缩之后原文件被覆盖,压缩包以.gz
结尾
解压
命令:gunzip a.txt.gz
gzip -d a.txt.gz
root@iZuf63dupetlzjthzmdy5iZ:/test1# gunzip a.txt.gz
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls
a.txt b.txt c.txt
解压之后压缩包消失,原文件出现
方式二:bzip2
压缩
命令:bzip2 a.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# bzip2 b.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls
a.txt b.txt.bz2 c.txt
压缩之后原文件被覆盖,压缩包以.bz2
结尾
解压
命令:bunzip2 b.txt.bz2
bunzip2-d b.txt.bz2
root@iZuf63dupetlzjthzmdy5iZ:/test1# bunzip2 b.txt.bz2
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls
a.txt b.txt c.txt
解压之后压缩包消失,原文件出现
方式三:zip
需要先下载zip:sudo apt install zip
压缩
命令:zip c.zip c.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# zip c.zip c.txt
adding: c.txt (stored 0%)
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls
a.txt b.txt c.txt c.zip
压缩之后原文件依旧存在,压缩包以.zip
结尾
解压
命令:unzip a.txt.gz
root@iZuf63dupetlzjthzmdy5iZ:/test1# unzip c.zip
Archive: c.zip
replace c.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: c.txt
root@iZuf63dupetlzjthzmdy5iZ:/test1# ls
a.txt b.txt c.txt c.zip
解压之后压缩包不消失,删除压缩包即可
文件内容查看
1、cat(从上到下正文查看内容)
2、tac
反向展示,从下到上查看内容
3、nl
展示的时候添加行号
4、more
空格键可以翻下一页 可以看到剩余内容的百分比
5、less
可以上下翻页
6、head
head /etc/passwd 查看文件的前几行 默认10
head -n /etc/passwd 查看前n行
head -2 /etc/passwd 查看前2行
7、tail
tail /etc/passwd 查看文件的后几行 默认10
tail -n /etc/passwd
tail -2 /etc/passwd
vi编辑器
vi a.txt
** 创建新文件并且可以编辑文件**
三种模式:
指令模式:
h左j下k上l右
nj:比如5j 就是光标向下移动5行
nk:比如5k 就是光标向上移动5行
ctrl+f 向下一页
ctrl+b 向上一页
ctrl+d 向下半页
ctrl+u 向上半页
n + 空格键 光标在当前行向右移动n个字符
H 光标移动到这个屏幕最上方的第一列的第一个字符
M 光标移动到这个屏幕中间第一个字符
L 光标移动到这个屏幕最下方的列的第一个字符
G 移动到文件的最后一列
nG 移动到文件的n列
gg 1G
n + 回车键 光标向下移动3列
/ 字符串 从光标处开始向下寻找当前字符串
在查询结果中 按 n/N 会继续寻找符合条件的字符串(向下 向上)
x向后删除一个字符
nx向后删除n个字符
X向前删除1个字符
nX向前删除n个字符
dd: 删除当前行
ndd:删除光标处向下n行
d1G: 删除光标处到第一行
dG:删除光标处到最后一行
yy:复制光标所在列
nyy:
y1G
yG
p:粘贴到光标所在下一列
P:粘贴到光标所在上一列
r: 替换当前字符 比如先按r 在按9 就是将当前字符换位9
R 进入replace模式 你新输入的内容 一直会取代当前光标处的文字 按esc结束
编辑模式:
插入模式:-- INSERT –
替换(取代)模式:-- REPLACE –
在指令模式下按i I a A o O会进入编辑模式
i:在目前光标所在处进行插入
I:在目前光标所在处的第一个非空白字符上
a:在目前光标所在处的下一个字符处进行插入
A:在目前光标所在处的最后一个字符上插入
o:在目标光标处的下一列开始插入
O:在目标光标处的上一列开始插入
除了esc键
按下Esc 退回到指令模式
命令行模式(底行模式)
/ 搜索
通过 : 进入命令行模式
:w 写入到硬盘(保存)
:w!
:q
:q! 不保存的情况下退出
:wq
:wq!
ZZ
:w filename 另存为
:r filename 将另一个文件的内容添加到光标所在列的后面