Linux指令
命令 | 作用 |
---|---|
ls | 查看当前文件夹下的内容 |
pwd | 当前所在文件夹 |
touch [文件名] | 如果文件不存在,新建文件 |
mkdir [目录名] | 创建目录 |
cd [目录名] | 切换文件夹 |
cp [文件名] | 拷贝指定的文件 |
mv [文件名] | 移动指定的文件 |
tree [目录名] | 以树状方式显示目录结构 |
clear | 清屏 |
rm [文件名] | 删除指定文件 |
ctrl + shift +
放大终端窗口的字体显示
ctrl + -
缩小终端窗口的字体显示不想执行当前选中的命令, 可以按
ctrl + c
cd
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。 |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 切换到当前目录 |
cd … | 切换到上级目录 |
cd - | 可进入上次所在的目录 |
绝对路径
以 / 开始的路径
相对路径
从当前目录算起的路径
终端命令
命令格式
command [-options] [parameter]
command
: 命令表示做什么
options
: 选项, 选项表示怎么做, 也可以省略
parameter
: 传给命令的参数, 参数表示对谁做. 可以是零个、一个或者 多个.[ ] 表示可选
帮助信息
命令的 --hel选项 :
command --help
man命令:
man command
man
时的操作
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
命令选项
ls 选项
选项 | 含义 |
---|---|
-a | 显示指定目录下的隐藏文件, 以点(.)开头的文件为隐藏文件. |
-l | 以列表方式显示文件的详细信息. |
-h | 配合 -l 显示文件大小单位. |
mkdir 选项
mkdir 命令可以创建一个新的目录. 选项
-p 可递归创建目录
选项 | 含义 |
---|---|
-p | 创建所依赖的文件夹 |
rm 选项
选项 | 含义 |
---|---|
-i | 以进行交互式方式执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
-d | 删除空目录 |
cp 选项
将指定的文件或目录复制到另一个文件或目录中
选项 | 含义 |
---|---|
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有权限。 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 |
-v | 显示拷贝后的路径描述 |
mv 选项
移动文件或目录, 也可以给文件或目录重命名.
选项 | 含义 |
---|---|
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v | 显示移动后的路径描述 |
功能命令
重定向 : >
>
输出重定向会覆盖
原来的内容
>>
输出重定向则会追加
到文件的尾部。
cat
查看或者合并文件内容
gedit
文件编辑命令,可以查看和编辑文件
分屏: more
more demo.py
每次只显示一页
空格显示下一页
q
退出
h
获取帮助
管道 |
一个命令的输出可以通过管道做为另一个命令的输入
ifconfig | grep init
链接 : ln
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
ln -s 源文件 链接文件
硬链接:硬链接只能链接普通文件,不能链接目录。
ln 源文件 链接文件
没有-s
选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径
搜索: grep
grep [-选项] ‘搜索内容串’文件名
grep命令中输入字符串参数时,最好引号或双引号括起来
grep 'a' 1.txt
选项 | 含义 |
---|---|
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
配合正则表达式
参数 | 含义 |
---|---|
^a | 行首,搜寻以 m 开头的行;grep -n ‘^a’ 1.txt |
ke$ | 行尾,搜寻以 ke 结束的行;grep -n ‘ke$’ 1.txt |
[Ss]igna[Ll] | 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n ‘[Ss]igna[Ll]’ 1.txt |
. | (点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n ‘e.e’ 1.txt |
查找:find
用来在特定的目录下搜索
符合条件的文件
也可以用来搜索
特定用户属主的文件
。
命令 | 含义 |
---|---|
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件 |
find ./ -name ‘*.sh’ | 查找当前目录下所有后缀为.sh的文件 |
find ./ -name “[A-Z]*” | 查找当前目录下所有以大写字母开头的文件 |
通配符
一种
特殊字符
,用来模糊搜索文件
。ls, find命令一般会结合通配符使用
- *:代表0个或多个任意字符
- ?:代表任意一个字符
- [列举的字符]:代表的任意一个字符
打包及压缩:tar
tar [选项] 打包文件名 文件
选项 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
-x | 解开档案文件 |
-z | 压缩 |
除了
f需要放在参数的最后
,其它参数的顺序任意
gz压缩格式
-z
:指定压缩包的格式
为:file.tar.gz
tar -zcvf 压缩包包名 文件1 文件2 ...
解压:
tar -zxvf 压缩包包名
-z:
指定压缩包的格式
为:file.tar.gz
解压到指定目录:-C
(大写字母“C”)
bz2 压缩格式
- 压缩用法: tar -jcvf 压缩包包名 文件
- 解压用法: tar -jxvf 压缩包包名
zip 压缩格式
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
权限:chmod
拥有者、同组者以及其他人的权限
字母法
chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
[ ±= ] | 含义 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
rwx | 含义 |
---|---|
r | read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 |
w | write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 |
x | excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 |
数字法
“rwx”
这些权限也可以用数字来代替
字母 | 说明 |
---|---|
r | 读取权限,数字代号为 “4” |
w | 写入权限,数字代号为 “2” |
x | 执行权限,数字代号为 “1” |
- | 不具任何权限,数字代号为 “0” |
chmod u=rwx,g=rx,o=r filename
==> chmod u=7,g=5,o=4 filename
chmod 754 file:
- 文件所有者:读、写、执行权限
- 同组用户:读、执行的权限
- 其它用户:执行的权限
如果想递归所有目录加上相同权限
,需要加上参数“-R ”。
chmod 777 test/ -R
递归 test 目录下所有文件加 777 权限
位置:which
找到命令的路径
which ls
which LSS
管理员账号:sudo -s
一般不需要切换到管理员账户,需要使用管理员权限在命令前面加上sudo
当前用户:whoami
用户密码:passwd
sudo password xxx
退出: exit
关机重启:reboot、shutdown
命令 | 含义 |
---|---|
reboot | 重新启动操作系统 |
shutdown –r now | 重新启动操作系统,shutdown会给别的用户提示 |
shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 | 系统在今天的20:25 会关机 |
shutdown -h +10 | 系统再过十分钟后自动关机 |
远程操作
登录 SSH
- 安装ssh服务器
sudo apt-get install openssh-server
- 远程登陆
ssh 用户名@IP
使用ssh访问,如访问出现错误。
可查看是否有该文件
~/.ssh/known_ssh
尝试删除该文件解决。
拷贝 scp
- 安装:
sudo apt-get install openssh-server
- 使用:
scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径
eg:
scp -r itcast@192.168.1.100:/home/itcast/QQ_dir/ ./mytest/lisi
在后续会提示输入“yes”此时,只能输“yes”而不能简单输入“Y”
拷贝单个文件可以不加 -r参数,拷贝目录必须要加。
- 本地文件复制到远程:
scp FileName RemoteUserName@RemoteHostIp:RemoteFile
scp FileName RemoteHostIp:RemoteFolder
scp FileName RemoteHostIp:RemoteFile
- 本地目录复制到远程:
scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
scp -r FolderName RemoteHostIp:RemoteFolder
- 远程文件复制到本地:
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
scp RemoteHostIp:RemoteFolder FileName
scp RemoteHostIp:RemoteFile FileName
- 远程目录复制到本地:
scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
scp -r RemoteHostIp:RemoteFolder FolderName
FileZilla(Linux)
OpenSSH(Windows)
远程连接Ubuntu
安装卸载
软件源
设置软件源
选择网速比较好的版本
备份软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
更新服务器列表
下载
sudo apt-get update # 更新升级(手动更新 sources.list 文件)
apt-get install # 下载软件
安装
sudo apt-get update 更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
apt-get
安装
apt-get install PackageName # 普通安装
apt-get install PackageName=VersionName # 安装指定包的指定版
apt-get --reinstall install PackageName # 重新安装
apt-get build-dep PackageName # 安装源码包所需要的编译环境
apt-get -f install # 修复依赖关系
apt-get source PackageName # 下载软件包的源码
卸载
apt-get remove PackageName # 删除软件包, 保留配置文件
apt-get --purge remove PackageName # 删除软件包, 同时删除配置文件
apt-get purge PackageName # 删除软件包, 同时删除配置文件
apt-get autoremove PackageName # 删除软件包, 同时删除为满足依赖
# 而自动安装且不再使用的软件包
apt-get --purge autoremove PackageName # 删除软件包, 删除配置文件,
# 删除不再使用的依赖包
apt-get clean && apt-get autoclean # 清除 已下载的软件包 和 旧软件包
更新
apt-get update # 更新安装源(Source)
apt-get upgrade # 更新已安装的软件包
apt-get dist-upgrade # 更新已安装的软件包(识别并处理依赖关系的改变)
查询
dpkg -l # 列出已安装的所有软件包
apt-cache search PackageName # 搜索软件包
apt-cache show PackageName # 获取软件包的相关信息, 如说明、大小、版本等
apt-cache depends PackageName # 查看该软件包需要哪些依赖
apt-cache rdepends PackageName # 查看该软件包被哪些包依
apt-get check # 检查是否有损坏的依赖
apt-get --help
VIM
vim有三种基本工作模式:
- 命令模式
- 编辑模式
- 末行模式。
插入模式:
i: 插入光标前一个字符
I: 插入行首
a: 插入光标后一个字符
A: 插入行未
o: 向下新开一行,插入行首
O: 向上新开一行,插入行首
…
评论区