基本shell命令
显示当前目录:pwd
切换到根目录:cd /
切换到某个目录 (绝对路径):cd /xxx
切换到某个目录 (相对路径):cd xxx
切换到root目录:cd ~
上一级目录:cd ..
列举目录文件:ls
显示目录文件包括隐藏文件:ls -a
显示目录详细信息(文件权限 用户 时间):ls -l
清屏:clear
重启:reboot
关机:halt
新建demo并写入aaa:echo aaa > demo.txt
在demo中追加内容aaa:echo aaa >> demo.txt 追加
查看文件内容:cat
文件所占空间:du
查看当前目录下的总大小:du -sh
su与sudo
切换用户(包括环境):su - username
切换用户(不包括环境):su username
执行命令权限不够,普通用户取得root用户的权限:sudo 命令
,当前用户转换到root,然后以root身份执行命令,执行完成后,直接退回到当前用户
执行sudo需要额外配置文件,在root用户下给新用户授权,对sudoers文件编辑:vim /etc/sudoers
,把用户添加到配置文件中
root ALL=(ALL) ALL #<-找到这行
username ALL=(ALL) ALL #<-添加用户名
文件操作命令
filename指文件名,path指路径
创建文件:touch filename.txt
,touch filename.xml
…
新建文件夹:mkdir filename
删除文件(询问是否删除):rm filename
强制删除文件(不询问):rm filename -f
删除空文件夹:rmdir filename
删除有内容的文件夹(询问是否删除):rm filename -r
r表示递归删除,递归子目录
强制删除有内容的文件夹(不询问):rm filename -rf
复制到path文件:cp filename path
移动到path文件:mv filename path
安装某个软件:yum xxxxx
查看目录下文件权限:ls -l
修改文件权限为777:sudo chmod 777 filename
# ls -l列举出当前目录权限信息,对应权限说明:
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。
vi编辑器相关:vim xxx/文件名
进入vi编辑器,退出时先按ESC然后输
- 保存并退出:
:wq
- 强制保存并退出(当前用户权限不够):
:wq!
- 不保存退出:
:q
- 强制不报错退出:
:q!
系统管理命令
查看网络配置:ifconfig
创建用户:useradd 用户名
用户设置密码:passwd 用户名
查看所有用户名:cat /etc/passwd
删除用户:userdel 用户名
查看进程(显示pid):ps
查看JAVA进程:jps
关闭某个进程:kill -9 pid
查看端口信息:netstat
防火墙
打开防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
查看防火墙状态:systemctl status firewalld
开机禁用防火墙:systemctl disable firewalld
开机启动防火墙:systemctl enable firewalld
打包解压
-C:打包 -x:解包 -v:显示 -t:查看 -z:gzip -j:bzip2 -f:使用文档名
打包opt文件夹,压缩包命名test.tar.gz:tar -zcvf test.tar.gz /opt/
解压test.tar.gz到当前目录:tar -zxvf test.tar.gz -C ./
(tar -zxvf test.tar.gz -C 自定义路径
)
GUI
重设密码:vncpasswd
启动并设置分辨率:vncserver -geometry 1920x1080 :1
(vncserver:1
)
查看已有桌面:ps -ef|grep -i vnc
关闭已有桌面:vncserver -kill :1
(关闭桌面1)、kill -9 uid
Screen
Screen,在Ubuntu下自带的一种新建窗口的功能,例如一段py代码或需要持续运行的程序放在screen中,在关闭ssh工具后仍可以持续运行
新建窗口:screen -R 窗口名字
进入已有窗口:screen -r 窗口名字
查看已有窗口:screen -ls
关闭当前窗口:Ctrl+a+d
删除当前窗口:exit
删除某个窗口:screen -S id.session_name -X quit
进入已有窗口报错There is no screen to be resumed matching xxx.是由于当前有其它用户或之前在某一窗口下突然断网导致窗口未关闭持续占用,screen -d id.session_name
关闭窗口再执行screen -r 窗口名字
SSH
适用ssh连接服务器:ssh ip
或ssh 用户名@ip
但这种方式每次都需要输入密码,配置ssh密钥:
-
生成密钥对:
ssh-keygen -t rsa -C "用户名" -f "文件名"
参数 解释(留空则默认) -t 加密方式:rsa、ed25519、dss,默认为rsa -C 命名密钥,默认为主机用户名 -f 文件名称,默认为 id_rsa
-
客户端(即本地电脑)存放私钥,并向
config
文件中添加Host xxx # 别名 HostName xxx.xxx.xxx.xxx # ip地址 IdentityFile ~/.ssh/tecent_VPS # 私钥路径 PreferredAuthentications publickey User git # 用户
-
服务端存放公钥,例如
/home/ubuntu/.ssh
下authorized_keys
中填写即xxx.pub
中的内容,如果需要填写多个公钥可以在authorized_keys
中追加多条 -
连接方式:
ssh -i ~\.ssh\私钥路径 用户@ip
(未配置第二步config
文件需要指定密钥位置)ssh 用户名@ip
ssh 别名
ssh原理: