Linux下简单的操作:
- env 查看系统环境设置
/etc/profile是针对所有用户,export xxx=xxx, source profile生效
某一用户mr,/home/mr/.bash.profile,修改后执行source /home/mr/.bash.profile生效,如果没有执行,需要系统重启才能生效
- 设置启动项chkconfig, chconfig --list 查看启动列表
启动mysql,chkconfig mysqld on。同理,要取消掉某个服务自动启动,只需要将最后的参数“on”变更为“Off”即可。比如要取消postfix的自动启动:chkconfig postfix off 值得注意的是,如果这个服务尚未被添加到chkconfig列表中,则现需要使用–add参数将其添加进去:chkconfig –add postfix。从系统启动项列表删除一个服务,使用–del选项从启动列表删除它:chkconfig --del ip6tables 。如果要查询当前所有自动启动的服务,可以输入:chkconfig –list 但是这样显示东西太多了,看起来很晕。如果只想看指定的服务怎么办呢?这个时候只需要在“–list”之后加上服务名就好了,比如查看httpd服务是否为自动启动,就输入:chkconfig –list httpd。这个时候输出的结果:httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off。此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。我们输入chkconfig httpd on后,再次检查输出结果变为:httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off。这个时候2~5都是on,就表明会自动启动了
- 查看线程(LWP)使用情况
pstree | grep program
pstree -p |grep program
ps -eLf | grep program
ps -ef | grep program
top -H
PS:注意每一列输出代表的含义
- 查看内存的使用情况
proc cat /proc/meminfo or /proc/pid/statm status,atop,htop,top,smem,memstat,vmstat // vmstat -m,free //free -h,nmon,ps。如果以上命令不存在,安装对应的包即可,如brew install htop。不同的系统可能无法兼容同一安装包
- find
find path -option [ -print ] [ -exec -ok command ] {} ;
在某一目录下查找文件内容 ~ find /your/directory -exec grep -l 'your char' {} ;
‘.’代表当前目录
‘/’代表根目录
‘~’代表home下对应用户目录,如/home/glee
‘|’代表管道命令,连接两个不同的命令,如less name | grep ...
-print:将匹配的文件标准输出
-exec:以" {} ;" 结尾,执行find命令 匹配的文件执行的对应shell命令 "command {} ;",如grep "file*" {} ; 对搜索file*匹配的文件内容
-ok:与exec类似,但比exec更安全,执行命令前会让用户确定是否执行该操作
查找.h或.cpp文件内的“Player”字符串:find . -name *h -o -name *.cpp |xargs grep -ri "Player"
删除目录下所有.svn目录及下面的文件,find path -type d -name ".svn" |xargs rm -rf
- date
需要root权限,或加 sudo 前缀
系统时间
修改时间:sudo date -s "2008-05-23 01:01:01",PS:时间的输入有多种格式
查看时间:date
同步网络时间:ntpdate asia.pool.ntp.org
硬件时间(主板供电计算)
hwclock --show
hwclock --hctosys (硬件时间同步系统时间)
hwclock --systohc (系统时间同步硬件时间)
PS:hc~硬件,sys~系统
系统时间依赖于硬件时间,系统每次启动都会去读取硬件时间,然后独立运行
同步网络时间:ntpdate asia.pool.ntp.org
硬件时间(主板供电计算)
hwclock --show
hwclock --hctosys (硬件时间同步系统时间)
hwclock --systohc (系统时间同步硬件时间)
PS:hc~硬件,sys~系统
系统时间依赖于硬件时间,系统每次启动都会去读取硬件时间,然后独立运行
- ifconfig 查看网络配置 -a,更改网络接口的IP地址
ifconfig hme0 downifconfig hme0 211.101.149.233 netmask 255.255.255.0 up 首先,使用down命令参数把网络接口hme0的服务暂时停止,然后再用Linux查看ip的ifconfig命令给接口分配新的IP地址和掩码,并启动网络接口服务,也可以通过改变文件/etc/hosts中的IP地址的值并重新启动系统来更改机器的IP地址。
/etc/hosts/: 211.101.149.11 sampdt 定义主机名在/etc/hostname.hme0及IP地址。
更改了网卡/增加了网卡,系统不能自动启动该接口服务,这时需要手动创建网口服务:
#ifconfig hme0 plumb
Linux查看ip即可以为接口le0创建网口服务,相应地,用ifconfig带unplumb参数可以停止服务并关闭网络.netconfig 用来设置IP地址
- grep 文件内容或目录搜索
grep ‘条件’ path,如 grep there filename 从filename中找出there的匹配字符
grep -v there filename 反向搜索
grep [tf] filename 正则表达式搜索 匹配 t f两个字符
- 安装工具 apt-get/yum/brew 等,如:
yum - “@Chinese Support” //支持中文输入法
yum install flash-plugin
- script 记录终端内容,如 script -a script.txt
- less命令,less path 打开,q 退出
- more 命令
more path //打开
space 或 ctrl+f 下一页
q退出
more -number path 设置每页显示行数
ls -l | more -3 每页显示3行文件
more /day3 path "day3"表示寻找第一次出现该字符串处开始显示
- 关机/重启
关机:halt
poweroff
shutdown -h now 立刻关机
shutdown -h 10 十分钟后关机
重启:reboot
showdown -r now 立刻重启
shutdown -r 10 十分钟后重启
shutdown -r 21:30 21:30 重启
- 文件操作相关
touch path 修改文件最后使用时间
rm -rf path 删除目录及子目录下的所有文件,rm代表remove,r表示循环,f表示不需要再次确认
rmdir path 删除一个空目录
cp -rf path_1 path_2 复制,path_1源路径,path_2目标路径
mv path_1 path_2 移动,path_1源路径,path_2目标路径
mkdir path 创建一个目录
ls -l list,列出文件目录下的所有文件信息
du -h --max-depth=1 path 查看path路径下所有文件、文件夹大小 Path为空表示当前目录
chmod 755 path 分配文件所属组,所属者,其他人权限
chmod a+rwx /home/abc.sh 采用root用户执行该命令~对所有级别的用户赋予读、写、执行该shell脚本的权限
sudo chown glee path 改变文件的拥有者为glee用户,使用超级用户权限执行
sudo chgrp root path 改变文件的所属组为root组,使用超级权限执行
- 9个权限位说明
1 ~文件类型 ‘-’普通文件,‘b’特殊块文件‘c’特殊字符文件‘d’目录‘l’软链接‘p’FIFO管道文件‘s’socket套接口文件 ‘w’whiteout..
2~4 文件所有者权限
5~7 文件所属组权限
8~10 其它用户权限,非所有者及非所属组权限
‘w’写‘r’读‘x’执行‘-’无‘S’‘s’
- screen
screen -x path 进入开启的会话模式
screen (path)进入会话窗口模式
ctrl+a+c 新建会话
ctrl+a+A 重命名会话
ctrl+a+k 关闭当前会话(会kill当前进程)
ctrl+a+d 退出
ctrl+a+num num 表示会话id(0 - 9)
screen -S yourname -> 新建一个叫yourname的session
screen -ls(或者screen -list) -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
- ps,ps -A|grep processname 查找进程包含“processname ”
a 显示现行终端机下的所有程序,包括其他用户的程序。
-A 显示所有进程。
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
-e 此参数的效果和指定"A"参数相同。
e 列出程序时,显示每个程序所使用的环境变量。
f 用ASCII字符显示树状结构,表达程序间的相互关系。
-H 显示树状结构,表示程序间的相互关系。
-N 显示所有的程序,除了执行ps指令终端机下的程序之外。
s 采用程序信号的格式显示程序状况。
S 列出程序时,包括已中断的子程序资料。
-t <终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
u 以用户为主的格式来显示程序状况。
x 显示所有程序,不以终端机来区分。
- kill
kill pid 或 kill -9 pid结束进程,如果使用后者命令还是没法结束该进程,只能重启系统
kill -9 -1 终止当前用户所拥有的所有进程
- netstat
netstat -an|grep LISTEN -i
netstat -an|grep port
- cat
cat file 打开文件
cat >> file 往文件末尾增加内容
cat > file 创建文件(如果存在,会把原有文件删除,新建)
cat -n file
cat file_1 file_2 > file 文件file_1,file_2合并到file
de>cat [选项] [文件]...de>
选项 :
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳 字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开
- sort file 对file内容进行排序,默认按照字符 sort -n file按照数字排序
- scp
scp file user@ip:path 将file文件拷贝到某一主机
例:scp /home/glee/text.txt root@192.168.0.112:/home/glee/ 需输入root用户密码
scp -r -i GC_KB_00003 km-php root@115.159.36.242:/var/www/html/
-r 表示包含拷贝目录下的所有子目录文件
-i 认证文件
- 压缩与解压
zip、unzip、bzip2、bzcat、bunzip2
bzip2 filename 压缩
bunzip2 fielname.bz2 解压
bzcat filename.bz2 查看压缩文件内容
gzip、gzcat,gunzip 用法类似
tar [主选项+辅选项] 文件或目录
主:归档(c)、拆包(x)、列出内容(t)
辅:-z 是否具有gzip属性,压缩或解压,如:xxx.tar.gz或xxx.tgz
-j 是否具有bzip属性,压缩或解压,如:xxx.tar.bz2
-v 压缩过程显示文件
-f 显示档名,f之后不能加其它参数,接档名
-p 使用原文件原属性
- 硬盘挂载mount
df -h 查看硬盘容量
fdisk -f 查看当前硬盘
mount /dev/path path
卸载 umount path
- df 查看磁盘剩余空间
du显示当前目录及子目录磁盘使用情况,以块为单位显示占用空间
ps:两个命令同时使用用‘|’分隔(管道命令),如: du -sh * | sort -nr ,其中-r表示降序
- 防火墙
打开防火墙配置 vi /etc/sysconfig/iptables
查看防火墙端口状态/关闭/重启 /etc/init.d/iptables status/stop/restart
放开80与22端口:
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
#/etc/rc.d/init.d/iptables save
重启计算机后,防火墙默认已经开放了80和22两个端口。
永久性关闭防火墙:#chkconfig --level 35 iptables off
验证设置是否生效:iptables -L
- selinux
setsebool xxx 1(或0)
- tail tail -f filename