sudo update-alternatives --config gcc
#验证是否成功
gcc -v
如果列表中没有自己需要的gcc版本可以通过如下命令安装:
sudo apt install gcc-4.8 gcc-4.8-multilib g++-4.8 g++-4.8-multilib
#安装tree
apt-get install tree
#直接打印文件夹下所有文件
tree example
#指定显示的层数
tree -L 2
#忽略指定文件或文件夹
tree -I example
#树状目录输出到指定文件中
tree > tree.text
#如果要在md文件中使用,可以直接复制到“```”环境中。
在已知进程名(name
)的前提下,交互式 Shell 获取进程 pid 有很多种方法,典型的通过 grep 获取 pid 的方法为(这里添加 -v grep
是为了避免匹配到 grep 进程):
#ps命令是Process Status的缩写
ps -ef | grep "name" | grep -v grep | awk '{print $2}'
#一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段
awk '{print $2}' $fileName
在命令后面加上& 实现后台运行。例如:sh test.sh &
如果放在后台运行的作业会产生大量的输出到屏幕,最好使用下面的方法把它的输出重定向到某个文件中:
command>out.file 2>&1 &
2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件
nohup
nohup命令可以在控制台关掉(退出帐户时)之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令配合 & 命令:
nohup command > myout.file 2>&1 &
利用 update-rc.d命令 添加开机启动服务,引用网友经验
ubuntu 16.04中一定要加上以下LSB信息,不然放入启动脚本的时候会报错无法开机启动。
#!/bin/sh
### BEGIN INIT INFO
# Provides: svnd.sh
# Required-start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the svnd.sh daemon
# Description: starts svnd.sh using start-stop-daemon
### END INIT INFO
1
2
$ sudo chmod 755 /etc/init.d/svnd.sh (注意一定要设置权限,不然开机不会启动)
执行如下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d svnd.sh defaults 95
#注1:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。
#注2:将脚本添加到初始化执行的队列中去,注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。
#命令:update-rc.d xxx defaults NN(NN为启动顺序)
$ cd /etc/init.d
$ sudo update-rc.d -f svnd.sh remove
查看当前目录下所有文件夹的大小du -sh –max-depth=0 *
查看当前目录下所有文件夹的整体大小du -sh –max-depth=0
export LD_LIBRARY_PATH=库的路径:$LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
#如果将`export`命令写入脚本(*.sh)中执行,需要使用如下命令执行
source env.sh