一.Linux命令格式:
命令 选项 参数1 参数2
command [-options] [parameter1] [parameter2] ...
说明:选项和参数不区分先后位置
man xxx命令:可以查看此命令的使用
xxx命令 - -help:可以查看此命令的使用
二.常用命令:
1.终端常用操作
Ctrl Shift +按键:放大终端字体
Ctrl -按键:缩小终端字体
Tab按键:自动补全,两次Tab会显示当前路径下的内容
clear:清空终端内容
which 命令:可以查看执行命令所在的位置
2.文件和目录命令
通配符:*任意个字符;?至少1个字符;[]字符组中任意一个;^abc已abc开始;abc$以abc结尾
ls:显示当前目录下的非隐藏资源
ls -a:显示当前目录下的所有资源(包括隐藏资源)
ls -l:以列表方式显示资源,资源大小是字节
ls -lh:以列表方式显示资源,资源大小是K字节
tree:以目录树查看当前目录下的文档结构(包括文件和文件夹)
tree -d:以目录树查看当前目录下的文档结构(只显示文件夹)
pwd:终端所在的当前路径
cd:切换路径 (../上一级目录;./当前目录;/根目录; -上一次目录;~家目录);直接cd也可以回到家目录
touch:创建文件,创建文件时文件名前加.可创建隐藏文件
mkdir:创建文件夹
mkdir -p:创建依赖却不存在的文件夹,例如demo/example.txt
rm:删除文件
rm -r:递归删除,删除文件或文件夹,不存在的文件或文件夹会提示
rm -f:强制删除,不存在的文件或文件夹不会提示
mv:移动文件或文件夹,例如mv /home/a/demo.txt /home/b/demo.txt;重命名,mv 原文件(文件夹)名 新文(文件夹)名
mv -i:移动文件或文件夹,如果文件或文件夹存在,会提示是否覆盖
mv -r:递归移动
cp:复制文件
cp -i:复制文件,如果文件已存在,会提示是否覆盖
cp -r:递归复制文件或文件夹
3.文件内容命令
gedit:编辑查看一个文件的内容
cat:查看文件(可以是多个文件)的内容(显示全部内容)
cat -b:内容增加行号但不包括空行
cat -n:所有内容增加行号包括空行
more:查看一个文件的内容(分屏显示内容,b后退,f前进);
例如:ls -alh | more 通过管道符|将管道符之前的内容以分屏的方式显示
grep:搜索某个内容并展示该内容所在的行的全部内容,例如grep "哈哈" demo.txt(被搜索的文件)
grep -n:搜索某个的内容并展示该内容所在行的全部内容及行号
grep -v:搜索不包含某个内容的全部内容
grep -i:搜索包含某个内容的全部内容不区分大小写
find "文件名":查找某个文件
find -name "文件名":按照名字查找某个文件
find -size "文件名":按照大小查找某个文件
history:查看历史命令,然后通过 !命令序号 执行历史命令
4.重定向与软硬链接
echo:把参数在终端中显示出来,配合重定向使用
>: 重定向,把命令执行的结果添加到一个文件中(覆盖);例如:ls > demo.txt
>>: 重定向,把命令执行的结果添加到一个文件中(追加);例如:ls > detmo.txt
ln:硬链接(删除源文件并不会影响,原因文件名和文件数据是分开存储的)
ln -s:软链接,相当于windows创建快捷方式;例如 ln -s 原文件(绝对路径) 链接文件
5.文件、用户、用户组权限
chmod u=rwx,g=r,o=w 文件名:设置文件可读可写可执行权 r(4),w(2),x(1),没有权限(0);例如 chmod 742 文件名,修改文件夹下所有内容的权限加-R
useradd -m 用户名:自动创建用户家目录
useradd -m -g 组名 用户名:创建用户并指定用户所在的组
passwd 用户名:设置用户密码
userdel -r 用户名:删除用户
id 用户名:查看用户的用户代号和组代号
cat /etc/passwd:查看用户
who:查看当前所有登录的用户列表
whomi:查看当前登录的账户名
usermod -g 组名 用户名:修改用户的主组
usermod -G 组名 用户名:修改用户的附加组
例如为普通用户添加sudo权限:
sudo usermod -a -G sudo 用户名
sudo usermod -a -G amd 用户名
usermod -s /bin/bash 用户名:修改用户登录shell
su - 用户名:切换用户及用户家目录路径(su 用户名:只切换用户)
su - 或 sudo -s:切换管理员权限(root)
groupadd 用户组名:创建用户组
groupdel 用户组名:删除用户组
chown 用户名 文件或目录:修改文件或文件夹所属的用户
chgrp -R 用户组名 文件或目录:修改文件或文件夹所属的组
cat /etc/group:查看用户组
6.远程管理
ifconfig:查看ip地址信息
ping ip地址:可以查看是否和这个主机通信
服务器默认端口:web(80);ftp(21);ssh(22);https(443)
ssh 用户名@IP地址 [-p 端口号]:远程登录某个电脑; exit:退出登录
拷贝本地文件到远程:scp [-P 端口号] 1.py 远程用户名@IP地址:Desktop/1.py
ssh免密码登录:ssh-keygen——生成ssh秘钥;
ssh-copy-id 用户名@IP地址 [-p 端口号]——拷贝秘钥至远程服务器
ssh配置别名:在.ssh文件夹下创建config文件,在文件中增加以下内容
Host 别名
HostName 服务器IP地址
User 服务器用户名
Port 服务器端口
7.系统命令
date查看系统时间 cal查看当月日历 cal -y查看一年12个月的日历
df -h查看磁盘占用空间 du -f查看当前目录中所有文件占用空间
ps aux查看进程,a(终端进程);u(进程详细状态);x(没有控制终端的进程)
top当前系统中内存和cpu占用高的程序,q退出
kill [-9] 进程代号(PID):结束进程,-9代表强制结束
shutdown:关机
shutdown -r:重启
shutdown -c:取消关机或者重启
8.压缩解压
压缩:tar -zcvf 需要打包的内容 压缩包的名字.tar.gz
tar -jcvf 需要打包的内容 压缩包的名字.tar.bz2
解压:tar -zxvf 压缩包的名字.tar.gz 解压到当前目录(需要解压到的某个文件夹-C 文件夹名)
tar -jxvf 压缩包的名字.tar.bz2 解压到当前目录(需要解压到的某个文件夹-C 文件夹名)
9.软件安装
apt install 软件包:安装软件,例如apt install sl或者apt install htop
apt remove 软件包:卸载软件
apt upgrade:升级软件
10.vim的使用
vim命令:
yy:复制光标所在的这一行; 4yy:光标所在行开始向下复制4行
dd:剪切光标所在的这一行;2dd:光标所在行开始向下剪切2行
D:从当前的光标开始剪切,一直到行末
d0:从当前的光标开始剪切,一直到行首
x:删除当前的光标
X:删除当前光标前面的一个
u:撤销刚刚的操作
Ctrl+r:反撤销
p:粘贴
h:左;j:下;k:上;l:右
H:当前屏幕的最上方;M:当前屏幕的中间;L:当前屏幕的最下方
Ctrl+f:向下翻一页;Ctrl+b:向上翻一页
20G:快读定位到第20行;gg:快速定位到第一行;G:快读定位到最后一行
w:向后跳一个单词的长度即跳到下一个单词的开始处;b:向前跳一个单词的长度即跳到上一个单词的开始处
v+上下左右键:选中一片代码(按光标);V+上下左右键:选中一片代码(按光标所在的行)
>>:向右移动;<<:向左移动;.:重复上一次命令
r:替换光标所在处的一个字符;R:向后替换光标处的字符
/某内容:回车后可以搜索“某内容”;n:显示搜索到的下一个;N:显示搜索到的上一个
:%s/abc/123/g:将所有的abc替换为123;:11,16s/abc/123/g:将11行到16行中的abc替换为123
:w:保存;:q:退出;:wq或Shift+zz:保存退出;:q!:不保存强制退出