1、SSH服务开启终端输入:
sudo apt install openssh-server(Ubunitu默认没有开启ssh。
(centos默认开启,ssh端口默认为22)
cmd连接ssh:ssh root@xxx.xxx.xxx.xx
连接ssh后保存的证书会保存在~/.ssh/known.hosts(windows、Linux通用)
2、修改镜像地址:
镜像地址储存位置:/etc/apt/sources.list(Ubuntu)
镜像地址储存位置:/etc/yum.repos.d/CentOS-Base.repo(centOS 7)
镜像地址储存位置:/etc/yum.repos.d/CentOS-Linux-*.repo(centOS 8)
3、基本常用格式:
#普通用户
root@localhost ~$
#超级用户(root)
root@localhost ~#
#命令的基本格式
dev@dev-VirtualBox:~$[sudo] 命令的名称 [选项] [参数]
1、目录操作命令
列出当前目录文件结构:ls
#语法
ls -l 显示当前详细信息(部分系统会精简为ll)
-a 显示隐藏文件
更改:cd
#语法
cd 目录路径
#路径分为相对路径和绝对路径
#真正的绝对路径只有一种:/xxx/xxx
创建:mkdir
#语法
mkdir 目录路径
#mkdir -p 表示递归创建目录
#语法
mkdir -p d/e g/f
#完整mkdir参数
用法:mkdir [选项]... 目录...
若指定<目录>不存在则创建目录。
必选参数对长短选项同时适用。
-m, --mode=模式 设置权限模式(类似chmod),而不是 a=rwx 减 umask
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在
也不当作错误处理
-v, --verbose 每次创建新目录都显示信息
-Z 设置每个创建的目录的 SELinux 安全上下文为默认类型
--context[=CTX] 类似 -Z,或如果指定了 CTX,则将 SELinux 或 SMACK 安全
上下文设置为 CTX 对应的值
--help 显示此帮助信息并退出
--version 显示版本信息并退出
删除:rmdir
#语法
用法:rmdir [选项]... 目录...
删除指定的空目录。
--ignore-fail-on-non-empty
忽略仅由目录非空产生的所有错误
-p, --parents 删除指定目录及其各个上级文件夹,例如“rmdir -p a/b/c'”
与“rmdir a/b/c a/b a'”类似
-v, --verbose 输出每个被处理目录的详情和诊断信息
--help 显示此帮助信息并退出
--version 显示版本信息并退出
非空文件夹不能删除,除非:rmdir -p
2、文件操作命令
改变文件戳:touch
#touch:如果文件不存在则新建文件,存在则修改文件创建时间。
#用法:touch [选项]... 文件...
-a 只更改访问时间
-c 如果文件不存在,则不创建任何文件
-d 把文件的时间改为指定的时间
-m 只更改修改时间
查看文件的详细信息:stat
#用法:stat [选项]... 文件...
-f, --file-system 显示文件系统状态而非文件状态
输出文件内容:cat
#用法:cat [选项]... [文件]...
-n, --number 对输出的所有行编号
-A, --show-all 等效于 -vET,用于列出所有隐藏符号
-E, --show-ends 在每行结束处显示$
-T, --show-tabs 将跳格字符显示为^I
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
输出文件指定内容:tail
#追踪日志时使用较多
#用法:tail [选项]... [文件]...
-f 追踪文件内容的实时变化
-n 行数 :从头文件开始,显示指定行数
-v : 显示文件名
分屏显示文件内容:more
#用法:more [选项] <文件>...
-f 计算逻辑行数,而非屏幕行数
-l 屏蔽换页(form feed)后的暂停
-c 不滚动,显示文本并清理行末
-p 不滚动,清除屏幕并显示文本
-s 将多行空行压缩为一行
-u 屏蔽下划线
-<数字> 每屏的行数
+<数字> 从指定行开始显示文件
+/<字符串> 从匹配搜索字符串的位置开始显示文件
#键盘快捷操作:
空格:下一页
b:上一页
回车:向下滚动一行
/字符串:收索指定字符串
q:退出
分行操作的方式查看文件内容:less
#与more操作方式类似
显示文件开头:head
#用法:head [选项]... [文件]...
-c, --bytes=[-]K 显示每个文件的前 K 字节内容;
如果数字前附加“-”字符,则除了每个文件的
最后 K 字节数据外显示其余全部内容
-n, --lines=[-]K 显示每个文件的前 K 行内容而非前 10 行内容;
如果数字前附加“-”字符,则除了每个文件的
最后 K 行数据外显示其余全部内容
-q, --quiet, --silent 不显示包含给定文件名的文件头
-v, --verbose 总是显示包含给定文件名的文件头
-z, --zero-terminated 以 NUL 字符而非换行符作为行尾分隔符
创建文件(夹)软硬链接:ln
#用法:ln [选项]... [-T] 目标 链接名
# 或:ln [选项]... 目标
# 或:ln [选项]... 目标... 目录
# 或:ln [选项]... -t 目录 目标...
-s :建立软链接文件。如果不加-s则建立硬链接文件
-f :强制删除已经存在的目链接并创建
3、文件及目录通用
删除文件或目录:rm
#文件和文件夹都可以使用rm来删除
#用法:rm [选项]... [文件]...
-f 强制删除
-i 交互删除,删除之间会询问用户
-r 逻辑删除,可以删除目录
-v 详细显示进行的步骤
复制文件或目录:cp
#用法:cp [选项]... [-T] 源文件 目标文件
# 或:cp [选项]... 源文件... 目录
# 或:cp [选项]... -t 目录 源文件...
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
剪切文件或目录:mv(可以用来重命名)
#用法:mv [选项]... [-T] 源文件 目标文件
# 或:mv [选项]... 源文件... 目录
# 或:mv [选项]... -t 目录 源文件...
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
4、权限命令
修改文件和文件夹权限命令:chmod
1、命令格式
#用法:chmod [选项]... 模式[,模式]... 文件...
-R, --recursive 递归修改文件和目录(大写R)
2、权限模式
用户身份:
u 文件所有者
g 文件所有者所在组
o 所有其他用户
a 所有用户
赐予方式:
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置
权限:
r:read 读
w:write 写
x:execute 执行权限
#如:chmod u+x lmls
语义:赐予lmls文件所有者执行权限
更改所有者:
3、数字权限
4 代表‘r’读
2 代表‘w’写
1 代表‘x’执行权限
#如:chmod 755 lmls
语义:赐予lmls文件755权限,这里的755是指:
第一个数字‘7’代表所有者的权限是4+2+1,也就是读、写和执行
第二个数字‘5’代表所属组的权限是4+1,也就是读和执行
第三个数字‘5’代表其他人的权限是4+1,也就是读和执行
一般常用的权限有:
400:所有者拥有读权限,则所属组和其他用户都没有权限
644:所有者拥有读和写,则所属组和其他用户只有读权限
755:所有者拥有读、写和执行,则所属组和其他用户只有读和执行
777:所有者、所属组和其他用户都有读、写和执行全部权限
修改文件和目录的所有者和所属组的命令:chown
#用法:chown [选项]... [所有者][:[组]] 文件...
-R, --recursive 递归操作文件和目录
#注:需要sudo权限才可以操作
#如:sudo chown langwang a.txt
语义:将a.txt文件的所有者改为langwang
#如:sudo chown langwang:langwang a.txt
语义:将a.txt文件的所有者和用户住改为langwang
修改文件和目录的所属组:chgrp
#用法:chgrp [选项]... 用户组 文件...
#如:chgrp user test
语义:表示把test文件归纳为user所属组中
默认权限:umask
#用法:umask [-p] [-S] [模式]
-p 如果省略 MODE 模式,以可重用为输入的格式输入
-S 以符号形式输出,否则以八进制数格式输出
umask默认权限是Linux权限的一种,主要用于让liunx中的新建文件和目录拥有默认权限
5、压缩及解压
打包与解打包:tar
#用法: tar [选项...] [压缩名]... [源文件或目录]...
-c 打包
-x 解压
-f 指定压缩包的文件名
-v 显示打包文件过程
-z
#如:
打包与解打包:zip
LInux中从源代码进行编译二进制程序并安装:
第一步:操作源码
第二步:执行configure
#注意:执行configure时不会在本目录中查找对应的二进制程序命令。所以需要确保命令的路径是正确的
#用法:1、绝对路径 2、直接使用./命令名称
第三步:编译环境
#debian ubuntu
sudo apt install build-seesntial
#centos
sudo yum install "Development Tools"
第四步:编译
gcc helloword.c
第五步:运行
#编译完成后会生成makefile文件
#编译后执行makefile即可
6、Vim 文件编辑器
#vim是vi增强的一个版本
#语法
vim 文件名称
--
文件可以不存在,当保存是不存在则会新建文件并存储内容
#参数:
+ 启动后跳到文件末尾
+<lnum> 启动后跳到第 <lnum> 行
---实列
vim nginx.conf #打开文件,光标定位到上一定位位置(第一次打开则第一行)
vim + nginx.conf #打开文件,光标最后一行
vin +10 nginx.conf #打开文件,光标第十行
vim +/server nginx.con #打开文件并标记对应的server字符
vim的工作模式:
命令模式(默认)
可以使用h,j,k,l或者方向健进行光标的移动,以及查找、复制等操作
输入模式:
在命令模式下输入a、o、i或者按insert健进入模式。(如果再按insert健可以再插入模式和替换模式互换)按ESC回到回到命令模式。
数字6:可以快速定位到指定数字行
---查找:可以按n进行查找下一个,按N查找上一个
/内容:从上往下查找匹配内容
?内容:从下往上查找匹配内容
dd:删除一整行
yy:复制一整行
p:粘贴
编辑模式:
在命令模式下输入冒号:然后输入命令回车即可执行对应的操作。
:数字:可以快速定位到指定数字行
w:保存
q:退出
!:强制(q!进行强制退出)