这些命令平时都是记录在自己电脑的记事本上的,最近没事写点文章记录一下,也给需要的同学做下参考,这些应该都是比较常用到的,因为都是我平时搭建服务器时候,会查询用到的命令,自己做记录的,肯定是比较有用的咯:
1、自启动配置信息:
把配置信息写成.sh的配置文件,放置到:
/etc/profile.d/ 目录下即可自动生效;
source /etc/profile
2、查看系统版本:
uname -r
3、查看系统信息:
cat /etc/os-release
4、清空当前中的屏幕内容:
clear
5、更新yum软件包索引:
yum makecache fast
6、查找文件(例如:从根目录下查找 tomcat 名称相关):
find / -name *tomcat*
7、后台运行脚本:
commond &>/dev/null &
付:Mac OSX 下解决Address already in use 端口占用问题:
第一步:在终端输入 sudo lsof -i:6790 这个就是被占用的端口;
第二步:sudo kill -9 11722 我这是一个Java应用 kill 对应的pid就好了
8、解压文件:
tar -zxvf Python-3.6.1.tgz
tar xzf redis-6.0.8.tar.gz
tar -Jxvf Python-3.5.2.tar.xz
9、拷贝文件(拷贝目录,带强制覆盖):
cp -rf ${WORKSPACE}/uniapp/dist/build/app-plus/* ${WORKSPACE}/app/src/main/assets/apps/${UNI_APP_ID}/www/
10、Linux expect:
expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。
expect自动交互流程:
spawn启动指定进程---expect获取指定关键字---send向指定程序发送指定字符---执行完成退出
yum install -y expect
#### for example:
#!/usr/bin/expect
spawn ssh saneri@192.168.56.103 df -Th
expect "*password"
send "123456\n"
expect eof
11、远程复制文件:
# 示例1
scp -P 4011 /usr/local/download/AndromonTest/Channel/1.0.7/base.apk root@10.240.180.136:/usr/local/BuildOutput/AndromonTest/1.0.7/base.apk
# 示例2
scp ./jdk/jdk-8u201-linux-x64.tar.gz root@101.43.141.76:/root/download/
12、查看linux端口:
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -an | grep 3306 //查看所有3306端口使用情况
—————查看端口占用情况-------------:
lsof -i :5037
lsof -i tcp:5037
lsof -i :12306
13、查看进程:
ps -ef | grep xxxx
14、杀掉进程:
kill -9 9999
15、后台执行程序:
nohup 要执行的程序 &
## 不输出日志
nohup ./program >/dev/null 2>&1 &
#查看后台程序
ps aux | grep “kibana” #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分
ps -ef | grep “kibana” #-e显示所有进程。-f全格式。
#关闭后台程序
kill 1001
kill -9 1001 #-9表示强制关闭
16、https://www.bt.cn/ 宝塔面板
命令行工具:Termius
17、brew 安装指定版本
例如:
首先:brew search subversion
homebrew/versions/subversion16
homebrew/versions/subversion18
homebrew/versions/subversion17
再指定安装:
brew install homebrew/versions/subversion16
删除此版本
brew remove homebrew/versions/subversion16
brew reinstall subversion@1.8
18、yum -y:
如果使用yum install xxxx,会找到安装包之后,询问你Is this OK[y/d/N],需要你手动进行选择。但是如果加上参数-y,就会自动选择y,不需要你再手动选择!
yum -y install 包名(支持*) :自动选择y,全自动
yum install 包名(支持*) :手动选择y or n
yum remove 包名(不支持*)
rpm -ivh 包名(支持*):安装rpm包
rpm -e 包名(不支持*):卸载rpm包
19、建立软连接:
cd /usr/bin
ln -s /usr/local/node/bin/node node
20、创建用户组&新用户:
groupadd groupname 添加用户组
useradd username 创建用户username
passwd user_pwd 给已创建的用户username设置密码
-g 用户组 指定用户所属的用户组。
示例:useradd -g mygroup myuser
userdel username 删除用户username
切换下刚才添加的用户:
su username 查看一下对应的位置 可以进去 没毛病
21、修改密码:
passwd
22、adb占用端口处理(adb默认端口是:5037):
查看占用的端口
输入命令行:adb nodaemon server
查看占用端口的PID
netstat -ano | findstr "5037"
查看全部使用端口:
netstat -ntulp
kill -9 xxxx
adb kill-server结束服务
输入adb start-server成功启动服务
23、安装vim:
yum -y install vim*
处理vim编辑文件时,文件内显示乱码
编辑/etc/vimrc文件,加上如下几行:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
保存即可;
24、安装netstat命令:
yum -y install net-tools
25、安装bzip2:
yum search bzip2 //查询安装包
yum -y install bzip2*
26、查看服务器当前时间:
date
date -R 查看时区
27、修改服务器时区:
tzselect
此时时间并没有修改,需要执行TZ='Asia/Shanghai'; export TZ,并将这条命令写入.bash_profile文件
28、shell-if表达式(-f,-d,-s,-r,-w,-x,-eq,-ne,-ge,-gt,-le,-lt )
文件表达式
if [ -f file ] 如果文件存在
if [ -d … ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
字符串变量表达式
If [ $a = $b ] 如果string1等于string2
字符串允许使用赋值号做等号
if [ $string1 != $string2 ] 如果string1不等于string2
if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空,返回0 (和-n类似)
shell中条件判断if中的-z到-d的意思
[ -a FILE ] 如果 FILE 存在则为真。
[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。
[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。
[ -d FILE ] 如果 FILE 存在且是一个目录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。
[ -h FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。
[-p FILE ] 如果 FILE 存在且是一个名字管道(F如果O)则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。
[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。
[ -w FILE ] 如果 FILE 如果 FILE 存在且是可写的则为真。
[ -x FILE ] 如果 FILE 存在且是可执行的则为真。
[ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。
[ -G FILE ] 如果 FILE 存在且属有效用户组则为真。
[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read则为真。
[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2,or 如果 FILE1 exists and FILE2 does not则为真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。
[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。
[ -z STRING ] “STRING” 的长度为零则为真。
29、mac androidid adb 端口被占用 解决办法
1. 查找5037端口:lsof -i tcp:5037
2. 记住 PID
3. 杀掉被占用的端口:kill 10679
4. adb devices 重启服务
5. 不能只清掉 占用端口 还需要清掉 adb 服务
adb kill-server
adb start-server
30、执行一条命令,并为该命令自动填充输入参数,
如下(执行startup.sh命令,并为该命令输入密码:123456,`su - root`命令,是使用root账户执行命令)
echo 123456 | su - root /usr/local/apache-tomcat-8.5.38/bin/startup.sh