man 2 syscalls //查看所有的系统调用说明
man 3 //系统的库函数
ls -lrt //
which ls //
cat
less
more
vim
echo $SHELL //当前shell版本
cat /etc/shells //本机支持的shell版本
chsh -s /bin/dash //切换到上面查询到的shell版本
Find:在指定目录下查找文件
find path [options] params
使用:
find -name "test.java" # 在当前目录下查到test.java文件
find / -name "test.java" # 从根目录开始查到test.java文件
find ~ -name "test*" # 从用户目录下,找到以test开头文件
find ~ -iname "test.java" # 从用户目录下,找到test.java文件(忽略大小写)
grep [options] pattern file
grep "start" test* //从test开头文件中,查找含有start的行
管道操作符 |
find ~ |grep "test"
find ~ //查找当前用户所有文件
grep "test" //从文件中
使用管道注意的要点
grep 'error' email.log # 从email.log文件中查询包含error的行
grep 'error' email.log | grep -o '\[0-9\]' # 获取到error的行,并取[]含有数字的内容
ps -ef|grep tomcat |grep -v # 并过滤掉含有当前进程
awk [options] 'cmd' file
// 将email.out进行切分,打印出第1/3列内容
awk '{print $1,$3}' email.out
// 将email.out进行切分,当第1列为tcp,第2列为1的列,全部打印。
awk '$1=="tcp" && $2==1{print $0}' email.out
//在上面的基础上将表头进行打印(NR表头)
awk '($1=="tcp" && $2==1)|| NR==1 {print $0}' email.out
//以,为分隔符,切分数据,并打印第二列的内容
awk -F "," '{print $2}' test.txt
将日志中第1/3列进行打印,并对第1列的数据进行分类统计
awk '{print $1,$3}' email.out
| awk '{count[$1]++} END {for(i in count) print i "\t" count[i]}'
sed [option] 'sed commond' filename
sed -i 's/^Str/String/' replace.java
将末尾的.替换为;(转义.)
sed -i 's/\.$/\;/'
全文将Jack替换为me(g是全部替换,不加只替换首个)
sed -i 's/Jack/me/g/ replace.java
删除replace.java中的空格(d是删除)
sed -i '/^ *$/d' replace.java
删除包含Interger的行(d是删除)
sed -i '/Interger/d' replace.java
查看某一端口的占用情况
lsof -i:8080
netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等;
列出所有处于监听状态的tcp端口:
包括 PID 和进程名称
netstat -tulpn
查看指定端口号占用的TCP网络连接情况
netstat -tunlp|grep 8080
根据PID,查看JVM中各线程信息('0x9eb’为nid值)
jstack 2246|grep '0x9eb' -A 50
tail -f a.java 查看a.java文件的后10行内容;
unzip file1.zip 解压一个zip格式压缩包
zip -r lib.zip lib/ 将目录进行压缩(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar 将多个文件压缩为zip文件(lib.zip)
#1、查看docker中下载好的镜像:
docker images
#2、查询需要的容器名称:
docker search mysql
#3、将需要的docker容器下载运行到本地(名称、端口号、msyql密码、ID):
docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a
#4、查看运行的docker容器:
docker ps
#5、查看所有的docker容器(包括未运行的):
docker ps -a
#6、停止当前运行的docker容器:
docker stop first
#7、启动docker容器:
docker start first
#8、重启docker容器:
docker restart first
#9、删除docker容器:
docker rm first
更新yum
sudo yum update
安装docker
sudo yum install docker
查看docker版本
docker -v
Docker version 1.13.1, build 0be3e21/1.13.1
启动docker
systemctl start docker
systemctl restart docker
systemctl stop docker
查看docker是否启动
docker ps -a
搜索Redis镜像
docker search redis
du -sh //查看当前文件夹所占存储空间
du --max-depth=1 //只查看当前目录下文件占用的存储空间
df -h //查看系统硬盘使用情况
打开配置文件
vim /etc/sysctl.conf
添加用户sum
:
useradd –d /usr/sum -m sum
关于useradd的某些参数:
-u: 指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID
-g: 指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在
-G: 指定额外组
-c: 指定用户的注释信息
-d: 指定用户的家目录
已创建的用户sum
设置密码
passwd sum
用户添加root
权限
visudo
找到root
用户权限位置
添加与root
用户相同权限
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
eses ALL=(ALL) ALL
新建的用户在面显示
cat /etc/passwd
切换下刚才添加的用户
su sum
sum: x:1000:1000:: /usr/sum :/bin/bash
sum: x:0:1000:: /usr/sum :/bin/bash
回到root用户
exit
修改已有用户信息usermod
usermod 选项 用户名
删除用户文件夹
rm -rf /usr/sum
删除用户sum
userdel sum
添加用户组
groupadd groupname
groupmod 选项 用户组
groupmod -n new-usergroup usergroup
常用的选项有:
删除用户组
groupdel groupname
可以看到自己的分组和分组id
cat /etc/group
比如我们使用普通用户操作用户或者操作用户组、以及修改网卡配置文件的时候,需要切换到root用户才操作,此时我们可以使用sudo命令提高普通用户的操作权限,以达到操作目的
sudo
:控制用户对系统命令的使用权限,root允许的操作。
通过sudo可以提高普通用户的操作权限。
使用者权限:普通用户
使用root用户权限执行命令,操作
sudo -s
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
格式:
chown [-R] 所有者 文件或目录
chown [-R] 所有者:所属组 文件或目录
将kibana-8.3.3-linux-x86_64.tar.gz
所有者改为用户sum
chown -R sum /usr/sum/kibana-8.3.3-linux-x86_64.tar.gz
将kibana-8.3.3-linux-x86_64.tar.gz
所有者改为用户sum
、所有组改为sum
chown -R sum:sum /usr/sum/kibana-8.3.3-linux-x86_64.tar.gz