软件开发常用的linux命令心得
软件开发过程中难免要经常对主机进行配置或者部署等操作,想到一些就写一些了,以后再更新
解压命令:
a.如果是tar文件,则直接用 “tar zxvf 文件名”;
b.如果是zip文件,用 “unzip 文件名”;
下载和安装卸载:
a.下载文件或脚本,"wget url";
b.安装软件, "apt-get install software";
c.卸载软件,卸载软件比较麻烦 "apt-get purge software",这样删除之后可能会有一些残余配置文件,需要继续运行"apt-get autoremove"和"apt-get clean"来清除。
有些软件比较麻烦,中间可能会出现问题,需要中止程序,但是进程会被锁,需要"dpkg --configure -a"来解放lock
切换root权限:
a.上述关于软件有些需要root权限,博主也是一知半解,需要的时候就加上sudo前缀命令就好了,有时候需要连续用到root权限,则需要长久获得root权限,这样可以直接输入指令进行操作;
b.获得root权限一般有三种方法,比较简单是su 命令,只不过su命令需要root的密码,需要切换回来时用su + 用户名,另外两种 sudo -i 或者sudo su命令都是可以长久获得root操作权限,只需要输入当前账户的密码即可
编辑和查看命令:
a.编辑工具比较多,平时有用到的vi,vim,nano,tee,用法有些差别(掌握一种应该就好啦),用的比较多的感觉还是vi命令,输入"vi filename" 后,可以看到文件内容,如果下方显示只读则可能是文件的权限不够,或者用户的操作权限不够;
b.正常进入文本之后,如果想更新或者插入使用指令"i",如果想要按行删除文件内容需要使用"dd",如果是一次性删除多行,则使用数字(行数)+"dd"
c.保存文件的方式也是多种多样,比较常用的有两种(是我比较常用的啦),第一步都是键盘"esc",之后输入":wq!"回车,如果不想保存直接":q!"回车。另外一种是"shift"+z +z,直接保存;
端口和进程:
a.关于端口和进程的命令灰常多,但是博主常用的就三个,主要是用来查看端口被占用的进程,然后把它杀掉,看命令就知道了:
sudo netstat -anp | grep 80 | grep LISTEN
sudo lsof -i:80
sudo kill -9 2097 2098 2099 2100
查找文件
find / -name filename.txt 根据名称查找/目录下的filename.txt文件。 find . -name "*.xml" 递归查找所有的xml文件 find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件 grep -H 'spring' *.xml 查找所以有的包含spring的xml文件 find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件 ls -l | grep '.jar' 查找当前目录中的所有jar文件 grep 'test' d* 显示所有以d开头的文件中包含test的行。 grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。 grep '[a-z]\{5\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。