查看系统版本?
uname -a
cat /etc/os-release
lsb_release -a
hostnamectl
安装deb文件?
sudo dpkg -i /path/to/deb/file sudo apt-get install -f 没安装好,可以这个命令补上丢掉的依赖
查看已安装的软件?
dpkg -l
rc.d是个啥玩意儿?
rc => runlevel control directory
d => 将目录的名称设置为.d结尾是Unix/Linux系统的一种习惯, 是一个文件夹
大多数的Linux 启动脚本都被放在/etc/rc.d/init.d下面。这些脚本被ln 命令来连接到 /etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6)
例如/etc/rc.d/rc2.d 下面的S10network 就是连接到/etc/rc.d/init.d下的network 脚本的。
运行级别
0 停机
1 单用户 不允许联网,启动后台程序,非root用户, 只允许root进行操作
2 多用户无网络
3 多用户有网络, 字符界面
4 用户自定义
5 多用户图形界面
6. 重启
将.sh文件改成可执行的文件
chmod u+x test.sh
find ./ -name "*.sh" -exec chmod +x {} \;
将文件的主人改下
cd /home && mkdir neal
chown neal:neal -R ./neal
开放端口号8089
/sbin/iptables -I INPUT -p tcp --dport 8089 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
把远程的目录mount到本地机器上来
// 下次补上
切换用户到elasticsearch
sudo su -
su - elasticsearch
adduser
https://www.digitalocean.com/community/tutorials/how-to-create-a-sudo-user-on-ubuntu-quickstart
复制
cp source destination
copy
移动
mv
move
清理屏幕
clean
cls clean screen
找到Elasticsearch进程并杀掉
jps | grep Elasticsearch
kill -SIGTERM 15516
ps -aux
找到logstash的后台运行进程
ps aux | grep "runner.rb agent -f csv/csv2es.conf" | cut -c -80
查看磁盘使用情况
df -h
du -sh
check memory usage
crontab跑定时任务
0,30 * * * * flock -xn /tmp/delta_workgroup.lock -c /home/kettle/jobs/delta_workgroup.sh
打印当前时间
echo "{date}"
查看后台运行程序日志
tail
. ./quickcopy 和 source ./quickcopy一样,也就是说这个 点 就是 source
脚本头部可以设定脚本语言
#!/usr/bin/env bash
/usr/bin/env: ‘bash\r’: No such file or directory
windows上写的脚本,到linux上不行了,可以vi把文件改成:set ff=unix
在linux里编译执行java代码
javac -cp .:./ojdbc14_g.jar UpdateESLastUpdateTime.java
java -cp .:./ojdbc14_g.jar UpdateESLastUpdateTime
-cp 表示 classpath
开始是个点 . 表示当前目录
冒号: 表示分隔符
/bin是超级用户和一般用户都可以使用的命令,/usr/bin是安装的软件的命令
usr表示的是unix software source
/bin 二进制可执行命令
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
解压缩 tar
GNU Tar accepts a --transform argument, to which you give a sed expression to manipulate filenames
tar -zxf my-dir.tar.gz --transform s/my-dir/your-dir/
exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。
常用格式:exit n
退出时返回n,不带n就作为最后一个命令执行,0表示成功
$?用去获取上一个命令的退出码。
trap "commands" EXIT
退出前执行commands指定的命令。
退出码(exit status,或exit code)的约定:
0表示成功(Zero - Success)
非0表示失败(Non-Zero - Failure)
2表示用法不当(Incorrect Usage)
127表示命令没有找到(Command Not Found)
126表示不是可执行的(Not an executable)
>=128 信号产生
chkconfig 从 ubuntu 16移除了
一些linux里使用的快捷键
快速移动光标 左移一个单词 Alt + b 右移一个单词 Alt + f
ctrl + w 删除一个单词
ctrl + u 删除整行
ctrl + H 删除一个字符
ctrl + y 粘贴回你删掉的
查看cpu
cat /proc/cpuinfo
grep processor /proc/cpuinfo
grep processor /proc/cpuinfo | wc -l
top指定进程
top -p PID
curl
curl -L -O URL_TO_FILE
curl -F "file=@file_full_name" localhost:8050/upload
curl -v -H "Transfer-Encoding: chunked" -F "file@file_full_name" localhost:8040/microservice-file-upload/upload
查找包含某些单词的文件
grep -rnw '/path/to/somewhere/' -e 'pattern'
看文件的第一行
head -n 1 a.js
grep '2' a.js 这时干啥来着的,等下验证下
查看重启时间
last reboot
who -b
一次性新建多个文件夹
mkdir -p d1/e2/{f1,f2,f3}