命令的构成:Command Name、Options、Arguments、Extras 四个部分,很多情况下后面三部分都是可省略的
例如 rm -rf ab.txt
1. / 根目录 cd / 返回最顶层磁盘位置 /
2. ~ 当前用户目录 cd ~ 返回用户目录 /Users/dulane
3. . 当前目录 cd ./music 所在位置 /Users/dulane/music
4. ../ 父级目录 cd ../ 所在位置 /Users/dulane
1. cd 跳转(cd 有后面必须有空格)
2. cd / 跳转根目录 /
3. cd ~ 跳转用户目录 /Users/dulane
4. cd music 跳转到music文件下 /Users/dulane/music
5. cd ../ 返回上级目录 /Users/dulane
6. ls 当前目录下的文件
7. ls -a 当前目录下的文件包括隐藏文件
8. ls -la 当前目录下文件包括详细信息
9. pwd 显示当前文件位置 /Users/dulane
10. history 显示所以操作的历史命令 532 history
11. clear 清空终端
12. mkdir command 创建名字为command的文件夹
13. rmdir command 删除空command文件夹
14. mv command command1 重命名或者移动文件
15. rm ab.txt 删除文件ab.txt
16. cp ab.txt abc.txt 复制文件ab.txt为abc.txt
17. touch aa.txt 新建aa.txt
18. open ab.txt 打开ab.txt
19. vi aa.txt 进入编辑模式
20. ssh root@ip 连接远程服务器
21. sh build.sh 执行build命令
22. which java java的安装位置 /usr/bin/java
23. tab 键补全信息
24. control+c 结束内容回到命令行
vi filename
i 插入模式
esc 推出插入模式
:w 保存当前编辑的文件但不退出
:w newfile 文件另存为
:w! filename 当前文件的内容替换filename中的原有内容
:q 退出,文件为保存时会提示
:q! 强制退出,不保存文件
:wq 先保存文件,然后退出到shell
/ 搜索 n下一个 N 上一个
dd 删除一行
yy 复制一行
nyy 复制向下n行
p 粘贴
cat /etc/shells
sudo yum install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
rpm -qa | grep mysql
rpm -qa | grep oh-my-zsh
#自己make install安装的可能查不到
rpm -qa | grep ntpdate
rpm -qa | grep mysql
chsh -s /bin/zsh root
chsh -s /bin/bash root
yum update sudo
grep命令
# .表示当前目录。
#在多级目录中对文本进行递归搜索
grep "git" . -r -n
grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr
cat /var/log/secure | grep "Failed password for invalid user" | awk '{print $13}' | sort | uniq -c | sort -n | tail -10 |awk '{print "sshd:"$2":deny"}' >> /etc/hosts.allow
tail -20 /etc/hosts.allow
useradd lane
passwd aaa
vi /etc/ssh/sshd_config
查找#PermitRootLogin yes,
将前面的#去掉,“Yes”改为“No”,并保存文件。
systemctl restart sshd.service
>>> vim /etc/ssh/sshd_config #修改 PasswordAuthentication yes/no
>>> systemctl restart sshd.service
#本地生成 rsa
ssh-keygen
#上传本地公钥至服务器,此处要输入root 密码
ssh-copy-id -i ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx
#免密登录
ssh root@xxx.xxx.xxx.xxx
#[密钥登录](https://goodgoodstudy.blog.csdn.net/article/details/113694654)
scp nginx-1.17.8.tar root@81.68.211.190:/root
#复制文件到本地
scp root@81.68.211.190:/root/software/nginx-1.17.8.tar /users/dulane/linux
#复制文件夹到本地
scp -r root@81.68.211.190:/root/software/nginx-1.17.8.tar /users/dulane/linux
mv notion.html staticData/static
tar -xvf nginx-1.17.8.tar
tar -xvf apache-tomcat-8.5.50.tar
lsof -i:8080
kill 9483
kill -9 pid
- 安装Nginx依赖,pcre、openssl、gcc、zlib(推荐使⽤yum源⾃动安装)
`yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel`
- 解包Nginx软件包:`tar -xvf nginx-1.17.8.tar`
- 进⼊解压之后的⽬录 nginx-1.17.8
- cd nginx-1.17.8
- 命令⾏执⾏./configure
- 命令⾏执⾏ make
- 命令⾏执⾏ make install,完毕之后在/usr/local/下会产⽣⼀个nginx⽬录
# 启动
/usr/local/nginx/sbin/ ./nginx
# 停止 Nginx
/usr/local/nginx/sbin/ ./nginx -s stop
# 重新载入配置文件
/usr/local/nginx/sbin/ ./nginx -s reload
# 重启 Nginx
/usr/local/nginx/sbin/ ./nginx -s reopen
方式一:
#默认安装位置为usr/lib/jvm
yum install -y java-11-openjdk.x86_64
方式二:
#解压
tar -zxvf jdk-8u211-linux-x64.tar.gz
#配置环境变量
vim /etc/profile
export JAVA_HOME=/DATA/jdk/jdk1.8.0_211
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
#刷新环境变量
source /etc/profile
#查询
java -version
./sh startup.sh
sh startup.sh
cp -r apache-tomcat-8.5.50 apache-tomcat-8.5.50-1
yy
nyy
p为将已经复制的数据在光标下一行粘贴
P为将已经复制的数据在光标上一行粘贴
删除一行:dd
删除以当前字符开始的一行字符:d$
删除以当前行开始的n行:ndd
删除以当前字符开始的一个字:dw
删除以当前字符开始的n个字:ndw
# 在文件中查找内容为word的字符串(向下查找)
/mode
# 在文件中查找内容为word的字符串(向上查找)
?mode
#查找下一个
n
#查找上一个
N
#关闭其它文件中高亮
set nohlsearch
zip -r abc123.zip abc 123.txt
#解压到同名文件夹下
unzip fileName.zip
#解压到别名文件夹下的同名文件夹下
unzip mydata.zip -d mydatabak
tar cvf newFileName.tar fileName
mv aa.txt bb.txt
rm aa.txt
rm aa
rm -r MyDocuments/
rm -rf MyDocuments/
# 查找在当前目录及子目录查找 notion.html
find . -name "notion.html"
# 模糊查找
find . -name "noti*.html"
# 查找在当前目录及子目录查找 .html文件且名字包含notion
find . -name "*.html" | grep notion
# 当前目录搜索所有文件,文件内容 包含 “140.206.111.111” 的内容
find . -type f -name "*" | xargs grep "140.206.111.111"
# 在/usr目录及其子目录下查找名字包含notion的普通文件
find /usr -type f -name "*notion*.html"
find . -type 类型参数
#f 普通文件
#d 目录
ls -l | head -n 5
head -n 10 README.md
tail -n 10 README.md
more -dc README.md
#按 Space 键:显示文本的下一屏内容。
#按 Enter 键:只显示文本的下一行内容。
#按H键:显示帮助屏,该屏上有相关的帮助信息。
#按B键:显示上一屏内容。
#按Q键:退出rnore命令。
#-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
#-c:不进行滚屏操作。每次刷新这个屏幕;
less -e README.md
#不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
#用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。
#要退出less程序,应按Q键。
#-e:文件内容显示完毕后,自动退出;
sudo tcpdump -nn
#查看服务器的时间
date
#修改时间
date -s '08:00:00'
#同步最新时间
ntpdate -u ntp.api.bz
curl ifconfig.me
curl ipinfo.io/json
ifconfig
chmod u+x *.sh
#获取是否被保护
config get protected-mode
#关闭保护,运行外网访问
config set protected-mode no
config set protected-mode yes
redis-cli -h 81.68.211.190 -p 6379
#内容很多
yum update
#列出telnet相关的安装包
yum list telnet*
#安装telnet服务
yum install telnet-server
#安装telnet客户端
yum install telnet.*
#进⼊bin⽬录,启动zk服务
#启动
./zkServer.sh start
#停⽌
./zkServer.sh stop
#查看状态
./zkServer.sh status
ps aux|grep nginx-login-project-0.0.1-SNAPSHOT.jar
lsof -i:8080
lsof -i:6379
#查看cpu信息:
top
lsof -i | grep 118.223.30.156
nc -zv 192.168.56.10 80 22 21
#也可以指定端口扫描的范围:
nc -zv 192.168.56.10 20-80
firewall-cmd --zone=public --query-port=80/tcp
#查看所有开放的端口
firewall-cmd --permanent --zone=public --list-ports
firewall-cmd --state
#开启
systemctl start firewalld
#关闭
systemctl stop firewalld
#在running 状态下,向firewall 添加需要开放的端口
#永久的添加该端口。去掉--permanent则表示临时。
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --reload
netstat -tunlp
#查看mysqld
netstat -anpt | grep mysql
netstat -an | grep ':80'
netstat -anp|grep 80 | grep LISTEN|awk '{printf $7}'|cut -d/ -f1
netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。