Ubuntu的使用记录

1、sed命令

1、sed -n '3p' datafile //只打印第三行
   sed -n '/my/p' datafile //打印有my的行
2、sed -n '100,200p' datafile //只查看文件的第100行到第200行
3、sed '2,5d' datafile //删除第二到第五行,预览
   sed -i  '2,5d' datafile //删除第二到第五行,生效,以后都是默认生效
   sed -i '/My/,/You/d' datafile //删除包含"My"的行到包含"You"的行之间的行
   sed -i  '/My/,10d' datafile //删除包含"My"的行到第十行的内容
4、sed -i 's/My/You/g' datafile //将my替换成you
5、sed -i '5i\name=hello' datafile //插入到指定行,效果name=hello
   sed -i '5i\name=\"hello\"' datafile  //带双引号的情况,效果name="hello"

基本使用这些就够了,如果还有需要了解的可以看

http://www.cnblogs.com/maxincai/p/5146338.html

http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html

2、杀掉任务进程

一、通过名字杀死 killall name
二、通过id号杀死 kill pid
三、通过获取名字的pid号再杀死id号
PID=ps | grep "name*" | sed -n '1p' | awk '{printf $1}'
kill -9 PID
name的查询可以通过ps命令或者执行pgrep name

3、设置桌面快捷方式

Linux 系统中的Desktop Entry 文件以desktop为后缀名。Desktop Entry 文件是 Linux 桌面系统中用于描述程序启动配置信息的文件。
进入/usr/share/applications 目录,可见如下图所示的各类软件图标
1 可以知己将该目录下的图片复制,然后粘贴到桌面
2 创建没有快捷方式的软件的快捷方式( 以qt为例)

1: 新建文件 vim /usr/share/applications/QtCreator.desktop
在/usr/share/applications 目录下,新建以软件名称命名的文件QtCreator.desktop

2: 编辑QtCreator.desktop
[Desktop Entry] 
Encoding=UTF-8 
Name=QtCreator
Comment=QtCreator
Exec=/opt/Qt5.7.1/Tools/Qtcreator/bin/qtcreator #根据软件的具体执行路径修改 
Icon=/opt/Qt5.7.1/Tools/QtCreator/share/qtcreator/templates/shared/icon64.png/ #根据软件的具体执行路径修改 
Terminal=false #软件打开时是否启动终端 
StartupNotify=false 
Type=Application 
Categories=Application;Development;

3 : 进入/usr/share/applications 将相应图标右键复制到桌面即可

4、检查网线是否插入断开

检查网线是否插入可以查看/sys/class/net/eth0/carrier  文件的内容。 1 表示网线插入, 0 表示网线断开。

5、搭建nfs

1、安装服务器端软件 sudo apt-get install nfs-kernel-server
2、配置共享目录 sudo vim  /etc/exports输入
/nfs  *(rw,sync,no_subtree_check)
rw:客户端拥有读写权限(ro:代码只有读权限)
sync:同步写入资料到内存和硬盘中
no_subtree_check:不检测子目录权限
root_squash:如果客户端使用root权限访问共享目录,则会被认为是匿名用户(权限缩小)
no_root_squash:如果客户端使用root权限访问共享目录,权限依旧为root
3、配置完成后,重启nfs-server服务 sudo  /etc/init.d/nfs-kernel-server  restart
4、arm开发板,开发板是只能作为客户端的,所以你需要在arm板上运行命令
 mount -t nfs 192.xxx.xxx.xxx:/nfs  /mnt/nfs -o nolock
192.xxx.xxx.xxx是主机IP
/nfs是主机配置的共享目录
/mnt/nfs 是arm板上挂在的目录
5、挂载前最好互相能够ping通以及共享的目录最好chmod 777 /nfs
6、此时的网络状态只需要设置桥接模式:直接连接物理网络,此时主机与板子的ip将在同一网段,可挂载

6、判断进程是否存在并启动该进程

#!/bin/bash
 
#grep -v "grep" 去掉grep进程 
PIDS=`ps -ef |grep myprocess |grep -v grep | awk '{print $1}'`
if [ "$PIDS" != "" ]; then
echo "myprocess is runing!"
else
 
#运行进程
 
./myprocess
fi

7、同步时间

查看系统时间:date
 
修改系统时间:date -s "2018-10-31 11:15:35" 
 
写入硬件时钟(RTC):hwclock -w
 
查看硬件时间:hwclock

8、监控某个进程并挂掉重启

#!/bin/bash
//死循环
while true
do
        count=`ps -ef|grep "aaa"|grep -v "grep"|wc -l` //查找aaa进程个数
#       echo $count
        if [ $count -eq 0 ] //aaa进程个数等于0就进入
        then
                echo `date` > /opt/restart.log
                echo "pcr start process....."
                break;
        fi
sleep 5
done
如果出现[: =: unary operator expected",那是因为在匹配字符串相等时,用了类似这样的语句:
if [ $STATUS == "true" ]
then     
 
    echo "status : true"
 
fi
原因是:如果变量STATUS值为空,那么就成了 [ = "true"] ,显然 [ 和 "true" 不相等并且缺少了 [ 符号
所以报了这样的错误。当然不总是出错,如果变量STATUS值不为空,程序就正常了,所以这样的错误还是很隐蔽的。

9、u盘出现文件系统只读的情况

1. 在Ubuntu终端运行如下命令:tail -f /var/log/syslog  
 
2. 插入有只读文件系统故障的U盘
 
3. 观察命令行输出,例如Filesystem error (dev sdb1)你的u盘驱动名是sdb1
 
4、卸载你的u盘模块:umount /media/upan(upan是你的U盘名,可以在media目录下用ls查看)
 
5. 修复U盘文件系统故障: sudo dosfsck -v -a /dev/sdb1
 
然后U盘就可恢复读写功能

10、终端退出后,程序后台运行

一般我们用putty,ssh连接linux服务器时,运行一个程序,退出后,程序就自动停止运行了。
在Linux/Unix中,有这样几个概念: 
- 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。 
- 会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。 
会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做*控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。 
使用nohup
nohup <command> &
提示:nohup: appending output to `nohup.out'
因为使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件。
关于为什么关闭终端后,程序会终止,可以查看这篇博文:https://blog.csdn.net/gatieme/article/details/52777721
参考linux后台执行命令:&和nohup:https://blog.csdn.net/liuyanfeier/article/details/62422742

11、QSerialPort(串口)打开失败

chmod 777 /dev/ttyUSB0

12、解压后撤销

zip:zipinfo -1 path/xx.zip | xargs rm -rf

tar:tar -tf xx.tar | xargs rm -rf

13、安装卸载软件命令

dpkg --list//浏览已安装的程序。要查看已安装的软件包列表
sudo apt-get remove softname //只卸载程序。如果你移除程序但保留配置文件
sudo apt-get install  软件名 //apt网络安装
sudo apt-get autoremove //删除为了满足其他软件包的依赖而安装的,但现在不再需要的软件包
sudo apt-get --purge remove 软件包名称://删除已安装包(不保留配置文件)
sudo  dpkg  -i  软件包名.deb //安装deb包
sudo  apt-get remove 软件名 //apt卸载软件
sudo dpkg  -r  软件名 //dpkg方式卸载
apt-get autoclean: //这会把你已安装的软件包的安装包也删除掉

卸载安装时的不必要的预装软件 
sudo apt-get remove unity-webapps-common
sudo apt-get remove libreoffice-common
sudo apt-get remove onboard deja-dup
sudo apt-get remove thunderbird totem rhythmbox empathy rasero simple-scan gnome-mahjongg aisleriot gnome-mines cheese transmission-common gnome-orca webbrowser-app gnome-sudoku landscape-client-ui-install

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值