文档视界 最新最全的文档下载
当前位置:文档视界 › Linux常用命令汇总【最新】

Linux常用命令汇总【最新】

Linux常用命令汇总

Linux文件系统根目录

/

切换目录

cd /home/hadoop

显示当前目录

pwd

清屏

clear

显示文件

ls

ll

显示所有文件(包括隐藏文件):ls -a

查看文件或目录的权限:ls -l test.xml 或ls -l input/

统计文件行数:

wc -l 201207301510.sta

zcat 1510.sta.gz |wc –l

find命令

在根目录下查找文件:find / -name "hadoop-0.20*"

查看文件内容:只能查看,不能编辑

cat /etc/hosts

新建目录

mkdir

删除文件或目录

rm -fr /etc/.hosts.swp

rm –fr /home/hadoop/*

拷贝文件:

拷贝文件或目录,指明源和目标:scp –r /home/hello/App /home/hadoop/

本机拷贝文件

cp –r test.log testcopy.log

cp *.c /home/hadoop/

拷贝到sim2机器

scp –r oracle.tar.gz sim2:/opt/

拷贝多个文件/目录到sim2机

$ scp /etc/ora* im2:/etc/

压缩与解压缩

压缩:tar zcvf oracle.tar.gz /opt/oracle

解压缩:tar zxvf oracle.tar.gz

例如:

将/home/aa目录直接打包为aa.tar.gz压缩包:tar -zcvf hadoop.tar.gz /home/hadoop 解压缩hadoop.tar.gz为原文件/夹:tar -zxvf hadoop.tar.gz

编辑命令:vi

i,I:插入命令,i 在当前光标处插入I 行首插入。ESC键退出插入模式。

:q 退出,修改后未存盘不能退出

:q! 不存盘,强制退出

:wq 存盘并退出

:x 存盘并退出(等同于:wq命令)

dd 非编辑状态下,dd可以删除行

一直按上下箭头键,可以翻页

当vi /etc/hosts时提示该文件是只读状态,删除锁文件就可以了。

rm -fr /etc/.hosts.swp

解决suse linux vi编辑器问题

vi /etc/vimrc

加入:set bs=2

Linux环境变量

全局环境变量:/etc/profile

hadoop用户环境变量:/home/hadoop/.bash_profile

root用户环境变量:/root/.bash_profile

Profile生效:

执行下面命令可以使profile配置即时生效

[hadoop@hadoop ~]$ source /etc/profile

安装/运行bin文件

bin文件是二进制文件,进入到它的目录中,直接运行即可

./jdk-6u31-linux-i586.bin

安装/卸载rpm文件

安装:# rpm -ivh VRTSvcsor-4.1.40.00-MP4_SLES10.i586.rpm

卸载:# rpm –e VRTSvcsor-4.1.40.00-MP4_SLES10.i586.rpm

检测软件的安装包:rpm -qa | grep VRTS

top -c

查看每个进程,具体是哪个应用程序在运行

ctrl + c

中断退出执行的命令

让进程或服务在后台运行:

COMMAND [args] &

如:hive --service hiveserver 10000 &

这样,即使用exit命令退出本shell,或关闭本shell,进程或服务也在后台运行

将普通用户提权到root用户

sudo su – hadoop

有时会提示输入hadoop用户的密码

新增用户hadoop,并加入到群组users中:

useradd –m –g users hadoop

useradd –m –g ifengdev liujb

-m表示为用户新建用户目录

将已有用户mapred加入到用户组hadoop:

gpasswd -a mapred hadoop

设置用户hadoop密码

passwd hadoop

删除用户

userdel –r hadoop

-r表示同时删除该用户目录

新增群组:groupadd

删除群组:groupdel

groups:查看当前登录用户的组内成员

groups hadoop:查看hadoop用户所在的组,以及组内成员

软连接:

ln -s 源文件/目录目标文件/目录(即别名)

ln -s /usr/lib/hadoop-0.20/ /usr/lib/hadoop

删除软连接:rm –fr /usr/lib/hadoop

但不能是rm –fr /usr/lib/hadoop/,没有最后面的斜杠/

chown:递归指定user目录下所有文件的拥有者为ifengdev群组的hadoop用户:

chown -R hadoop:ifengdev /home/user/

chgrp:改变文档或目录之群组拥有权

命令格式:chgrp [-R] groupname name (name 可为档名或目录名)

举例说明:chgrp vlsi file1 将文档file1 之群组拥有权,改为vlsi 群组。chgrp -R image dir1 递归将目录dir1及所有文档和子目录改为image 群组。

递归将目录下所有子目录与文件,设为该档案拥有者,与其所属同一个群组者可读可执行,不可写入:chmod -R ug+r+x-w *

递归设置user目录下所有文件为可读可写可执行:

chmod -R 777 /home/user/

chmod -R ugo+r+x+w /home/user/

以上两种方式效果等同。

查看进程:ps –ef|grep java 或ps aux|grep java

ps 命令用于查看当前正在运行的进程

ps -ef | grep java

ps aux | grep java

-aux 显示所有状态,grep是搜索

杀进程:kill 2987 或kill -9 2987,-9表示强制杀进程

查看某机器的端口是否开通,很多时候ping是被禁止的,可以用telnet来查看连通性:telnet 223.203.209.24 80

大部分Linux系统下都是默认安装了ssh的,只需要启动ssh服务即可。

可以使用命令:service sshd start/stop/status

或者:/etc/init.d/sshd start

SSH开启后会有一个进程SSHD在运行,可以用netstat -nap 命令查询得到,例如:

$ netstat -nap | grep -i sshd

tcp 0 0 :::22 :::* LISTEN 29391/sshd

配置免密码SSH

cd /home/hadoop/.ssh

ssh-keygen -t rsa

cp id_rsa.pub authorized_keys

scp authorized_keys tongjibuz161://home/hadoop/.ssh

查看端口:

netstat -anp 显示系统端口使用情况

netstat -nltp|grep 50000 显示占用50000端口的连接情况,列出进程名称netstat -tlp|grep 50000 显示占用50000端口的连接情况,列出进程名称netstat -an|grep 50000 显示占用50000端口的连接情况

lsof –i:3306 显示占用3306端口的进程是mysql

查找命令:

find /home/hello/app –name ‘*hello*.log’

查看Linux版本:

[root@idata-61 ~]# cat /etc/issue

CentOS release 6.2 (Final)

Kernel \r on an \m

查看硬盘空间:

df -lh

du -h --max-depth=1 ./

./表示当前目录,也可为绝对路径

两者区别:

1、若有进程在占用某个文件,而其他进程把这文件删掉,只会删除其在磁盘中的标记,而不会释放其占用的磁盘空间;直到所有访问该文件的进程退出为止。

2、df 是从内核中获取磁盘占用情况数据的,而du是统计当前磁盘文件大小的结果,由于磁盘标记已被删掉,因此du 不会计算上述被删除文件的空间,导致df 与du的结果不一致。

3、lsof | grep deleted:查看在磁盘上标记已被删掉,但是仍然被其它进程占用的文件。

4、lsof -u root | grep bash:查看root运行bash的进程

查看内存:

free –m

查看CPU信息:

# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz

(看到有8个逻辑CPU, 也知道了CPU型号)

# cat /proc/cpuinfo | grep physical | uniq -c

4 physical id : 0

4 physical id : 1

(说明实际上是两颗4核的CPU)

关闭SElinux

0、编辑配置文件:vi /etc/selinux/config

SELINUX=disabled

1、快速关闭SElinux,使用如下命令就可以:

/usr/sbin/setenforce 0 立刻关闭SELINUX

/usr/sbin/setenforce 1 立刻启用SELINUX

关闭防火墙:

(1)重启后永久性生效:

开启:chkconfig iptables on

关闭:chkconfig iptables off

(2)即时生效,重启后失效:

开启:service iptables start

关闭:service iptables stop

Redhat中IP地址的设置是在/etc/sysconfig/network-scripts/ifcfg-ethX中设置的,一个IP对应一个ifcfg-ethX文件,所以设置多个IP就会有多个ifcfg-ethX文件。

绑定固定IP

修改/etc/sysconfig/network-scripts/ifcfg-eth0,如下:

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.1.255

IPADDR=192.168.1.10

NETMASK=255.255.255.0

NETWORK=192.168.1.0

GATEW AY=192.168.1.1

HWADDR=【具体的硬件地址】

ONBOOT=on

TYPE=Ethernet

重启网络设置

#service network restart //重启所有网络设置

或:

#ifconfig eth0 down //down掉eth0网卡

#ifconfig eth0 up //启动eth0网卡

DNS配置

配置dns的文件为/etc/resolv.conf

修改hostname

vi /etc/sysconfig/network,修改HOSTNAME 一行为"HOSTNAME=主机名"(没有这行?那就添加这一行),然后运行命令“hostname 主机名”。一般还要修改/etc/hosts文件中的主机名。

这样,无论主机是否重启,主机名都修改成功。

wget

不创建目录:wget -r -np -nd http://119.254.74.24/logs/media_wap/

创建目录:wget -r -np -x http://119.254.74.24/logs/media_wap/

Apache的安装目录:/usr/local/apache2

Apache的web目录:/var/www/html

运维部门在标准部署系统后,Apache的web目录修改为:/data/ifengsite/htdocs/

开机启动服务:

1、方法1

[root@inner-2 ~]# chkconfig --list|grep httpd //检查httpd状态,不是开机启动

httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@inner-2 ~]# chkconfig --add httpd && chkconfig httpd on//设为开机启动

[root@inner-2 ~]# chkconfig --list|grep httpd //检查httpd状态,为开机启动

httpd 0:off 1:off 2:on 3:on 4:on 5:on6:off

2、方法2

我可以把vncserver设置成系统的服务,并启动起来,使用如下命令查看vncserver是否已经是系统的服务

#chkconfig --list|grep vnc

vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off

现在我们要设置vncserver开机自启动,使用如下命令

#chkconfig --level 5 vncserver on

#chkconfig --list|grep vnc

vncserver 0:off 1:off 2:off 3:off 4:off 5:on 6:off

这个时候重启系统,那么vncserver就会以服务的方式自动起来,但是现在如果想立即使用vnc则直接敲命令vncserver即可

3、方法3

我们可以把vncserver这条命令写在Linux开机要运行的脚本里面,那些脚本是Linux开机时要执行的呢?

我知道的有以下这些:

/etc/rc.local

/etc/rc.sysinit

/etc/inittab

/etc/profile

这里记住Linux服务于Linux开机自启动之间的区别和联系

程序启动脚本加入开机启动服务

vi /etc/rc.local 或

vi /etc/rc.d/rc.local

加入应用程序启动脚本,如:

echo "Start DataInterface for Tongji......"

/home/hadoop/tongjiInterface/bin/Starter.sh

echo "Start Monitor for tongji, with Tomcat as the Application Server......"

/usr/local/apache-tomcat-7.0.29/bin/catalina.sh start

Linux开机自启动服务的配置

●suse开机自启动脚本:/etc/init.d/boot.local

RedHat开机自启动脚本:/etc/rc.d/rc.local

●如:定时任务自启动,在boot.local脚本末尾加上命令:/sbin/service crond start

FTP服务自启动,在boot.local脚本末尾加上命令:/sbin/service vsftpd start

●说明:boot.local是在network前启动的,所以依靠网络服务的服务需要自己手动写一个启

动脚本,参考/etc/init.d/里的例子,如:VCS的自启动脚本:/etc/init.d/vcs

保存并设置vcs脚本文件的读写权限:#chmod 777 vcs

用chkconfig设置服务运行:#chkconfig --add vcs

service命令

如:service vsftpd start失败,提示未被识别的命令,所谓命令,当然是指service未被识别了。做如下检查:

1、在/etc/init.d/目录看看能不能找到vsftpd

find /etc/init.d|grep vsftpd

2、使用/etc/init.d/vsftpd start看是否可以启动

3、vsftpd是编译的,有没有在编译之前,系统自带有vsftpd,如果有,那么编译时指定单独路径,并且在编译后的路径下去启动vsftpd,也可以把启动加入到系统服务。

网络流量监控工具

iptraf

[root@inner-14 home]# yum install iptraf -y

[root@inner-14 home]# iptraf

定时运行crontab

自动定时任务,与当前user关联

显示:crontab -l

编辑:crontab –e,与vi类似,按i键编辑

●以sat用户(注意不能是root用户),执行crontab -e命令进入系统定时任务编辑,设置为每月1日凌晨1点运行:0 1 1 * * /home/sat/app/bcintf/bin/BcintfStarter.sh

注:需要确定sat用户有权限执行启动脚本BcintfStarter.sh

●例如:*/1 * * * * 表示每分钟执行一次;0 1 1 * * 表示每月1日的凌晨1点运行。

●启动和关闭定时任务:以root用户,执行以下命令重启/启动定时任务

RestHat Linux:service crond restart

Suse Linux:service cron restart

* * * * * /home/sat/app/bcintf/bin/BcintfStarter.sh

前5个字段为5个*,分别表示:

分钟:0-59

小时:1-23

日期:1-31

月份:1-12

星期:0-6(0表示周日)

还可以用一些特殊符号:

*:表示任何时刻

,:表示分割

-:表示一个段,如第二端里:1-5,就表示1到5点

/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。

也可以写成1-23/1

如:1-59/2 * * * * /home/sat/app/bcintf/bin/BcintfStarter.sh,表示每2分钟执行一次,而且指定从第1分钟开始,就是奇数分钟执行。

Linux系统中添加硬盘、分区、格式化、加载

●挂载/卸载光驱:mount /dev/cdrom /home/sat/temp | umount /home/sat/temp

●查看硬盘信息:在console中运行fdisk –l,显示Disk /dev/sda、Disk /dev/sdb,说明硬盘是SCSI设备

●给硬盘sdb分区:fdisk /dev/sdb

m(回车) //查看命令帮助

n(回车) //创建一个分区

p(回车) //primary partition (1-4)

partion number:1(回车)

first cylinder 1:(回车)

last cylinder 1305:(回车)这个硬盘只分一个区

w(回车)写入与退出

●格式化分区为ext3格式:mkfs.ext3 /dev/sdb

●手动挂载|卸载硬盘:mount /dev/sdb /home/sat/temp |umount /home/sat/temp

●让硬盘启动自动挂载:vi /etc/fstab

增加一行:/dev/sdb /opt/oracle/product ext3 defaults 0 0

●或许需要reboot

2、定时运行

●以sat用户(注意不能是root用户),执行crontab -e命令进入系统定时任务编辑,设置为每月1日凌晨1点运行:0 1 1 * * /home/sat/app/bcintf/bin/BcintfStarter.sh

注:需要确定sat用户有权限执行启动脚本BcintfStarter.sh

●启动和关闭定时任务:以root用户,执行service cron restart命令重启/启动定时任务

●例如:*/1 * * * * 表示每分钟执行一次;0 1 1 * * 表示每月1日的凌晨1点运行。

关机(root用户)

halt

重启系统(root用户)

reboot

设定系统时间(root用户)

date -s 12:50:00

设置系统日期(root用户)

date -s 01/05/2014 ——2008年4月11日

确保时间修改生效

clock –w

相关文档