Linux 命令(一)

ubuntu 打开终端

ctrl+alt+t #ubuntu

查看Ubuntu版本

lsb_release -a
cat /etc/issue

登录/退出用户

超级用户登录 sudo su
退出当前用户 exit
登录普通用户 # login zl

文件操作

cd
cd ..
cd -
列出所有文件包括隐藏文件
ls -a
时间排序(tac是cat反向输出)
ll -t | tac
移动/更改文件名
mv dispservice dispservice.bak
mv !(hadoop|hackthon) hackthon #反转移动
递归拷贝
cp -r source_dir target_dir
递归删除
rm -rf <path>
递归创建目录
mkdir -p <path>
新建文件
touch README.md
查找文件
find dir -name file
软连接(快捷方式)
ln -s 源文件 目标文件 (后面指向前面)

touch 456{1,2,3,4,5} 会在目录中生成(4561,4562,4563,4564,4565)五个目录文件
mkdir 456{1,2,3,4,5} 会在目录中生成(4561,4562,4563,4564,4565)五个文件夹

重定向

>      
输出重定向到一个文件或设备 覆盖原来的文件
>!     
输出重定向到一个文件或设备 强制覆盖原来的文件
>>    
输出重定向到一个文件或设备 追加原来的文件
<      
输入重定向到一个程序


2>
将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 b-shell
2>>
将一个标准错误输出重定向到一个文件或设备 追加到原来的文件
2>&1   
将一个标准错误输出重定向到标准输出 注释:1 可能就是代表 标准输出
&     
将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 c-shell
|&     
将一个标准错误 管道 输送 到另一个命令作为输入


command 1>>result #输出定向到文件,错误打印到屏幕
command 2>>result #输出打印到屏幕,错误定向到文件
command >>result 2>&1 #输出和错误都定向到文件
command 2>&1 | tee -a result #输出和错误全部定向到文件,并在屏幕上显示

 ls -al > list.txt
将显示的结果输出到 list.txt 文件中,若该文件以存在则予以取代!

 ls -al >> list.txt
将显示的结果累加到 list.txt 文件中,该文件为累加的,旧数据保留!

 ls -al  1> list.txt   2> list.err
将显示的数据,正确的输出到 list.txt 错误的数据输出到 list.err

 ls -al 1> list.txt 2> &1
将显示的数据,不论正确或错误均输出到 list.txt 当中!错误与正确文件输出到同一个文件中,则必须以上面的方法来写!不能写成其它格式!

 ls -al 1> list.txt 2> /dev/null
将显示的数据,正确的输出到 list.txt 错误的数据则予以丢弃! /dev/null ,可以说成是黑洞装置。为空,即不保存。

常用命令

清空面板 clear

调试脚本
set -x 开启调试
set +x 关闭调试
set -o 查看(xtrace),set去追中一段代码的显示情况。
sh -x build.sh 对整个脚本进行调试


查看内存
free
查看环境变量
echo $PATH
echo $LD_LIBRARY_PATH
查看软件路径
which pip
查看文件/文件夹大小
du -sh *
df -lh #查看磁盘使用情况(h:human)

进程

查看进程
top / htop
查看当前tcp监听端口
netstat -nltp | grep 8879
列出当前系统打开文件 (list open files),查看端口占用
lsof -i :8879
查看进程
ps: process status
ps -ef | grep dispservice
ps aux | grep python
强制结束进程
kill -9 pid


Ctrl+Z - 暂停进程并放入后台
jobs - 显示当前暂停的进程
bg N 使第N个任务在后台运行
fg N 使第N个任务在前台运行
bg, fg 不带 N 时表示对最后一个进程操作


后台运行程序不中断
nohup ./run.sh &
重定向输出
nohup sh do_show9.sh startDay > ./log/show_startDay.log 2>&1 &
查看nohup日志
tailf nohup.out

判断循环

判断

if [ $startDay != '20170409' ];
then
echo $startDay
fi

if [ command ];
then
...
elif [ command ];
then
...
else
...
fi

循环

while [ $start != $end ]
do
...
done

退出

if [ $? -ne 0];
then
...
fiexit 0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容