linux备忘命令
1,安装vim以后把vim中的tab键设置为4个空格
vim ~/.vimrc一下,如果没有会创建新的, 然后添加下面两行:
set ts=4
set expandtab
如果第二行内容是noexpandtab,就把noexpandtab改为expandtab
2,ssh和scp
ssh center@ip -p 22 ssh链接远程主机
scp -P 22 center@ip :~/test.txt . 把远程主机上的~/test.txt下载到本地当前目录
scp ~/下载/CMake_Practice.pdf center@ip:~/公共的/daqing-temp 把本地~/下载/CMake_Practice.pdf上传到远程主机上的~/公共的/daqing-temp文件夹内,不用指定端口哦
tar -xzvf daqing.tar.gz 解压daqing.tar.gz到当前文件夹
tar -czvf daqing.tar.gz etc 压缩当前文件夹下的etc文件夹以及其子文件夹为daqing.tar.gz
3,lampp ubuntu环境进入mysql:
mysql -u root -p
或者
[ root@ha ~]# cd /opt/lampp/bin
[ root@ha bin]# ./mysql –uroot –p123456
4,后台运行
个人认为前后台程序有两种:
1),程序的运行与否和终端相关:终端关闭,则程序挂掉。这类程序一般包括:command;command &;
#!coding=utf-8
#同一个终端内,程序也有前后台运行之分 command
#这是前台程序,程序直接在命令后返回运行状态和结果 command &
#这是后台程序,程序中如果有类似print之类的控制台输出语句,依然返回到本终端,很有可能造成的结果就是,它不断返回,你一边不断尝试输入命令,基本上就是看你和电脑哪个更快了。 #同一个终端内的程序,前后台如何转换:
"""
1,运行的时候最后面加“ &”
2,ctrl 加 z,把当前程序挂到后台,并且中止程序运行。此时终端会返回你一个job号码加进程号,如果你想让它后台继续运行,就用:bg %job号码(挂到后台后仍然会出现人和电脑比手速的问题),如果你想让它来前台运行,那就用:fg %job号码。
"""
#如果你想直接停掉他们,直接关终端或者对前台程序做ctrl c就可以了
开启或者关闭 后台运行的常用命令:
ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停 jobs
查看当前有多少在后台运行的命令 fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %n将选中的命令调出,n是通过jobs命令查到的后台正在执行的命令的序号(不是pid),经常是1,,,这样的简单数字。fg后面不加任何东西的默认意思是:fg %,把后台运行的第一个程序调到前台来继续跑 bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %n将选中的命令调出,%n是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
2),程序的运行与否和终端不相干:终端关闭,程序依然运行,这类程序的纯后台程序。
#纯后台进程
nohup command &;
#使用所有打印到控制台的标准输出都放到当前文件夹下的output.out中去(如果没有指定的话),然后把程序放到后台继续执行,不和终端有任何绑定。顺带一提,就算退出账户这个程序也不会停止哦
#指定nohu的输出: nohup command > myout.file 2>&1 解释一下,2>&1的意思是标准输出和标准错误都重定向到myout.file中 screen
#sudo apt-get screen直接安装就行了
#基础用法:screen -S name 新建一个叫name的虚拟终端,并且登录进去,此时,里面运行的任何程序都是在虚拟终端内部的,不会关闭。运行完一堆程序以后,screen -d name 离开name这个终端。screen -r name 重连name这个终端。screen -ls看看有几个虚拟终端;链接上screen虚拟窗口以后输入exit就关闭并且退出screen虚拟窗口了
3,个人比较常用的命令是:
sudo nohup python ./脚本.py>nohup.out 2>&1 &
意思是,用root权限运行脚本。并且把标准错误和标准输出保存到nohup.out中,放到后台运行起来。
但是有两个点需要十分注意,
a,有关sudo,如果系统需要提示你输入密码,在nohup的状态下你是无法收到系统提示的,所以程序根本跑不起来,解决方法是,先执行随意的sudo命令,然后再用sudo命令加上nohup
b,有关nohup.out,如果你写个while循环,每隔1秒钟输出一个数字到nohup.out中(自定义的文件需要注意是否有写入的权限),那么过了5秒以后,你肯定看不到5个数字,只有ignoring input的字样,为啥?这不代表你程序错了,个人猜测nohup具有输出策略,并不是每个字符串一生成就立马写到文件中去,而是程序执行完,或者遇到报错信息,或者到一定量,或者一定时间(细节不知)才会统一写进去。so,暂时看不到里面的内容不代表你错了。
4,关机
常用的关机:
sudo shutdown #一分钟内广播,清空缓存,然后一分钟时间一到就关机
sudo shutdown -h now #shutdown -h now 是关闭运行的程序后,刷新缓冲区后再调用init 0关机
sudo init #这个是直接关机,不管系统内运行的程序
5,查看磁盘状态
df -h
#以人比较好看懂的单位返回各个磁盘或者分区的状态
6,nmap扫描局域网ip
nmap是个很强大的工具,
sudo apt-get install nmap
sudo nmap -sP 192.168.3.0/
#快速检测192.168.10./24网段中有哪些存活主机
扫描局域网内某一段ip地址的信息
nmap 192.168.0.101- #扫描局域网内部0.101到0.110的IP、地址,系统会列出端口等很多详细信息
7,ubuntu系统目前运行的进程相关查询
常规查询:
ps -aux
#显示当前系统的所有进程
ps -aux|grep 'xxx'
#查找和xxx相关的进程的信息,xxx有可能是名字,pid等等
按照进程号查找相关信息:
ps -q -o command
#-q表示快速查找,-o表示你需要啥东西,你需要user写user,总之是ps能查到的都可以写
#我的ps可以查到这些:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
8,向mysql数据库导入或者导出数据
create database 数据库名称;
mysql -h localhost -u root -p yourdatabase < ./hehe.sql
#这是从sql文件中,向数据库yourdatabase导入数据
mysqldump -h localhost -u root -p yourdatabase > ./test.sql
#从yourdatabase中导出数据并且保存为test.sql
9.查看磁盘相关命令
df -h
#用比较可视化的方式查看系统整个磁盘的信息 du -sh ~/home
#查看文件或者文件夹的大小,有的文件需要sudo权限
10,grep命令查找匹配的字符上下几行
grep -C love filename 显示filename文件中,love行上下3行内容(含love行) grep -A love filename 显示filename文件中,love行下3行内容(含love行) grep -B love filename 显示filename文件中,love行上3行内容(含love行)
##-B before
##-A after
##-C before+after
使用:
假设使用nmap查找局域网内某个设备的ip, nmap 192.168.0.10->ip.txt
#把局域网内的0网段的10到100号ip都写出到ip.txt中 cat ip.txt|grep -B xxx
#从ip.txt中查找带‘xxx’字符的行,并且把本行和本行的前7行都打出来。比如我知道我的设备22端口开放,就可以尝试grep -B 7 22
11,watch持续调用某个命令,并且n秒刷新一次
watch -n 'cat /sys/devices/xxxx/temp'
#每隔两秒查看一下系统某个文件的状态
灰常好用!
12,为ubuntu更新系统时间或者更换时区
date -R
#查看当前时间
tzselect
#系统会提示你选择你所在的洲,国,根据实际情况选择完成以后确认即可,不需要图形界面
然后复制一下系统文件就可以了:
sudo mv /etc/localtime /etc/localtime_old
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
其他的设置目前还不没尝试,可参考原文档
因为原本的localtime是个软连接,而新的localtime是个文件,所以个人觉得,直接修改localtime的指向比较好,所以最终是这样的
sudo rm localtime
sudo mv localtime_old localtime
sudo ln -snf /usr/share/zoneinfo/Asia/Shanghai localtime
#先把我刚刚copy过来的localtime删掉,然后把原本的localtime(现在叫localtime_old)的名字改回来,最后把软连接链接到上海所在的时区
13,修改软连接
创建
ln -s 文件名 创建软连接的名字
#ln -s daqing.txt mylink为daqing.txt下创建一个叫mylink的软连接
修改
ln -snf 文件名 要修改的软连接名
#ln -snf xiaoqing.txt mylink 修改mylink软连接的指向,指向xiaoqing.txt
删除
rm 链接名字
#后面千万不要加斜杠,‘/’,其实加了也没啥,但是还是老老实实别乱动比较好
14,打开或者关闭ubuntu图形界面
关闭用户图形界面
sudo systemctl set-default multi-user.target
sudo reboot
开启用户图形界面
sudo systemctl set-default graphical.target
sudo reboot
15,配置pkg-config文件
如果在ubuntu上编译和开发c++,pkg-config是个非常好用的命令,他能够帮你管理头文件和a文件,让你不必在g++命令后面加上一大堆的-I,-L等,而且使用如下命令可以查看开发环境的位置:
pkg-config --cflags libavformat
#查看头文件在哪里
pkg-config --libs libavformat
#查看库文件在哪里
pkg-config --list-all
#查看pkg-config管理的所有的项目名称和简介
比如我刚刚编译的ffmpeg包,在lib/pkgconfig下有一堆pc文件,很明显这是写好了给用户用的,给ffmpeg的贴心点赞!通过把path添加到变量PKG_CONFIG_PATH中,我们就能随心所欲的使用ffmpeg了,添加方式:
vim ~/.bashrc
#在最后添加一行:
export PKG_CONFIG_PATH=/usr/local/ffmpeg/lib/pkgconfig:$PKG_CONFIG_PATH
16,查找带有某个文件内容的文件
sudo find /etc/apache2 -name '*.conf'|xargs grep 'access.log'
#find是常用的,不多讲
#从find出来的文件中查找带有access.log的文件
17,ubuntu18.04禁止某个服务开机启动
以apache为例,网上说的如下命令,真的一点都不管用
sudo update-rc.d -f apache2 remove
#这句话的意思是删除apache2的开机启动脚本,亲测无法禁止开机启动,反而会删除很多有关开机启动的服务链接 #已经删除了的可以这样恢复
sudo update-rc.d apache2 defaults
真正的禁止开机自启是这样的:
sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable
linux备忘命令的更多相关文章
- linux备忘簿
1.ubuntu中按ctrl+s锁定屏幕,按ctrl+q解锁. 2.vim中撤销和恢复为u和ctlr+r 3.静态库和动态库编译命令: (1)得到hello.o g++ -c hello.cpp (2 ...
- linux 备忘记录
杂项记录 Ubuntu 通过/etc/network/interfaces修改IP,重启网络服务貌似也不会生效.可以重启电脑使其生效,或执行: ip addr flush dev ens33 & ...
- linux备忘和卸载
linux上网 -------------------------------------------------linux卸载------------------------------------ ...
- 树莓派 Linux备忘
//更新树莓派 sudo apt-mark hold raspberrypi-bootloader sudo apt-get update sudo apt-get upgrade //配置 rasp ...
- linux备忘
一.数字计算 echo $[3600*24] --只能计算整数echo $((3600*4)) --只能计算整数 expr 3600 \* 24 --注意空格,*要加\,只能计算整数ec ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
- ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘
本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...
- 常用linux命令备忘
备忘: 关闭防火墙:# systemctl stop firewalld 查看防火墙状态:# systemctl status firewalld 停止防火墙:# systemctl disabl ...
- linux下常用命令备忘
转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...
随机推荐
- immutability-helper 用途+使用方法
1.react 官网文章 2.github地址
- 仿ios按钮切换
<div> <label><input class="btn-switch" type="checkbox"> 默认未选中& ...
- archlinux下安装nvidia驱动解决Nvidia显卡显示问题
root下使用以下命令: sudo pacman -S nvidia nvidia-libgl
- pytest之assert断言
assert pytest允许您使用标准Python断言来验证Python测试中的期望和值.例如,你可以写下 # content of test_assert1.py def f(): return ...
- Ubuntu16.04突然断网
配置文件: sudo gedit /etc/network/interfaces 重启网络: 1.sudo /etc/init.d/networking restart 2.sudo service ...
- JS高级---创建正则表达式对象
创建正则表达式对象 两种: 1.通过构造函数创建对象 2.字面量的方式创建对象 正则表达式的作用: 匹配字符串的 //对象创建完毕--- var reg = new RegExp(/\d{5} ...
- OpenCV3+VS2015 经常出现debug error abort()has been called问题
方案1:图片路径错误:查看imread的路径
- SIFT解析(一)高斯模糊
"模糊"的算法有很多种,其中有一种叫做"高斯模糊"(Gaussian Blur).它将正态分布(又名"高斯分布")用于图像处理. 所谓&qu ...
- linux 关键字搜索文件
在www目录下查找包含关键字’summer’,且后缀名为php文件的操作命令 find /www/ -name '*.php' |xargs grep '/Summer'
- TNS-12545: Connect failed because target host or object does not exist
问题描述 $ lsnrctl startLSNRCTL for Linux: Version 12.1.0.2.0 - Production on 26-JUL-2017 09:53:42Copyri ...