`

Linux常用命令笔记

阅读更多
--------------------------------------------------
常用linux系统命令
--------------------------------------------------
lsb_release -a 查看系统版本
uname -a  查看linux是否是64位版本
如果有x86_64就是64位的,没有就是32位的

■自己的常用脚本:
一般情况下,我们可以创建到其它脚本的一个链接,或自己编写脚本,放在/usr/local/bin目录下, 该目录下的脚本只要有执行权限,就可以在随时随时调用,因此可以把常用的命令放到该目录,提高工作效率
例:在/usr/local/bin/目录下创建tomcatstart命令
ln -s $CATALINA_HOME/bin/startup.sh /usr/local/bin/tomcatstart
chmod +x /usr/local/bin/tomcatstart
这样,随时随地都可以执行tomcatstart启动tomcat了

■修改权限 chmod
读、写、运行三项权限可以用数字表示,r=4,w=2,x=1。因此,rw-r--r--可用数字表示成644。
反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。


■进程查看
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t  指定终端机编号,并列出属于该终端机的程序的状况。
ps u  以用户为主的格式来显示程序状况。
ps x  显示所有程序,不以终端机来区分。
例:
ps aux | grep mysql
ps -ef | grep java

kill -9 3732  //彻底杀死指定进程,在直接使用kill时杀不掉某些进程时很有用

■Shell相关
echo $SHELL  查看当前使用的shell

■linux环境变量配置
主要有以下两种方法:
1、系统级环境变量,对所有用户有效:修改/etc/profile文件
可以在最后面按以下形式加入自定义环境变量:
export CATALINA_HOME=/usr/local/apache-tomcat-7.0.32

修改之后,可以使用该命令使/etc/profile修改立即生效:
.  /etc/profile

2、修改个人用户主目录下的.bashrc文件(针对指定用户生效)

3、直接在shell中或在shell脚本中输入类似内容(仅在当前shell的执行环境中有效)
export JAVA_HOME=/usr/share/jdk1.5.0_05
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


■其它常用命令
rm -rf
cat /etc/mysql/my.cnf |grep buffer_pool
tail -n 100 /etc/my.cnf |grep buffer_pool
ln –s /bin/less /usr/local/bin/less 创建链接(ln -s source dist)
netstat -na | grep 3306 查看指定监听服务的情况,如看到有结果代表相关服务已启动
useradd -g groupname username //创建到组
useradd -G groupname username //创建并追加到组
passwd username pwd //指定密码
logout
reboot

df -hl 查看磁盘
usage: du -shbkm [ file | directory] 查看指定目录占磁盘大小
cd ~username 切换到用户主目录

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du可以查看文件及文件夹的大小。
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。

df -h
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。

du:查询文件或文件夹的磁盘使用空间
    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
du -h --max-depth=1 /usr/local/opencv
du -sh
du -sg (AIX系统)

卸载cmake编译安装的程序:cat install_manifest.txt | sudo xargs rm

■查看端口占用:
netstat –apn

查看linux命令对应的路径
linux 下,我们常使用 cd ,grep,vi 等命令,有时候我们要查到这些命令所在的位置,如何做呢?
linux下有2个命令可完成该功能:which ,whereis
which 用来查看当
前要执行的命令所在的路径。
whereis 用来查看一个命令或者文件所在的路径,
which命令的原理:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which命令的使用实例:
  $ which grep
whereis命令原理:只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis命令的使用实例:
  $ whereis grep

■Linux的五个查找命令:find,locate,whereis,which,type
为避免篇幅过长,随便搜索了一下,请看这里就好了,讲得很清楚明了:
http://www.kuqin.com/linux/20091009/70532.html

■软件安装时遇到的一些问题的解决方法
●centos 怎么导入rpm-gpg-key
方法有二,一是安装相应的软件源的安装包。二是直接将key复印到 /etc/pki/rpm-gpg/
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-20-x86_64

●以rpm包为载体软件的linux系统,可以直接用命令:rpm –ivh xxx.rpm 默认安装rpm包,亦可以指定安装到某一目录下。
为软件包指定安装目录:要加 -relocate 参数。
比如安装xxx.rpm包,以relocate 参数进行安装,安装到/opt/temp目录:
rpm -ivh --relocate /=/opt/temp xxx.rpm;
以prefix进行安装:
rpm -ivh --prefix= /opt/temp  xxx.rpm

可以用 rpm -qa|grep mysql 查看是否安装了mysql

relocate就是只把应该装到oldpath下的文件安装到newpath,实现将一部分文件安装到其它的路径,而不是把所有的这个包的文件都换。
但是无论是prefix还是relocate都不见得可以真正可以用,因为有的包或者文件不允许装到其他路径,所以你可以加上badreloc来强制把文件安装到想要的地方。
rpm -ivh --prefix= /mnt/opt/mysql5.5 --relocate /=/mnt/opt/mysql5.5 --badreloc

■VI编辑器
G 光标移到最后一行
nG 光标移动到第n行
gg或1G 光标移动到第一行
/word 向下查找word
n /word后使用,继续查找;
N /word后使用,继续反向查找;

u 撤消,类似windows中的CTRL+Z
dd 删除当前行
yy 复制当前行
p 黏贴到当前光标的下一行
P 黏贴到当前光标的上一行
CTRL+r 重做前一个操作

:w 保存
:q 退出vim
:wq 保存并退出
:q! 直接退出不保存
:w filename 另存为filename
:n,m w filename 将第n行到第m行另存为filename
:set nu 显示行号
:set nonu 不显示行号
:! command 暂时离开vim,并执行command,执行完后再进入vim
:r filename 将filename文件的数据读入当前文件
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics