1、alias //查看全部alias的定义, 可在.bash_profile(.bashrc、/ect/profile 也可以)文件中定义;
也可以临时定义:
alias 'cd ~/log/MPP/`date +%Y%m%d`;pwd' //代替命令='要执行的命令1;命令2;命令3...'
ln -s /root/abc.java aa //软连接,aa-->abc.java
clear //清除屏幕
history //查看执行过的历史命令记录
history 20 //查看最近执行的20条历史命令记录
env | more //查看该用户的环境变量,PATH;依然定义在:/用户目录/.bash_profile
说明:| more:带分页显示(空格键下一页,回车下一行);| less:带分页,提供页数输入
echo $PATH/USER/SHELL //显示变量内容,跟env一样,只是可以选择显示哪类
2、Shell
1)环境变量,profile文件(shell脚本),如配置jdk,tomcat,一般是在/etc/profile或$HOME/.bash_profile配;
2)配置一些变量,.bash_profile(shell脚本),如alias,bin的PATH路径(env查看);
3)配置开机自动执行程序,.bashrc(shell脚本),如让tomcat开机就启动:/home/tomcat/bin/startup.sh start
说明:在/etc/目录下,对所有用户有效;在/root/或/home/用户目录/下,对当前用户生效;
export PATH=$PATH:/root //添加环境变量/root路径,临时生效
3、系统日期,时间
date //查看系统当前日期、时间
who am i //查看当前用户,whoami:只显示用户名,who:显示所有用户
date -s 05/27/2011 //将系统日期修改为:2011年5月27日 (需oot用户修改,其它用户默认只能查看)
date -s 10:24:00 //将系统时间修改为:10点24
date 02050930 //将系统时间修改为:2月5日9点30 (年份保持修改前的年份), date 0930不行,完整格式MMDDHHMMYYYY.SS:月日时分年.秒`
cal 3 2002 //查看2002年3月的月历
cal 2008 //查看2008年的年历
4、修改文件即时生效 //source命令也称为“点命令”,也就是一个点符号(.)
source 目录/文件 或 . 目录/文件 //注意: . 和 目录/文件间有空格,例:. .bash_profile
5、查看目录和文件
cd - //退回进入此目录之前所在的目录,区别于上级目录:cd ..
cd //直接cd,到当前用户的主目录去
ls //简要列出文件、文件夹, 不含隐藏;dir :不区分颜色显示
ll //详细列出文件、文件夹, 不含隐藏, 同ls -l
ls -a //简要列出文件、文件夹, -a,含隐藏
ls -la //详细列出文件、文件夹, -a,含隐藏
ls -lh //-lh,显示大小
通配符:
*:多个,?:一个
6、文件时间
stat a.txt //查看文件时间戳
ll a.txt //查看a.txt文件的-l 信息
touch [acdmt] 文件 //修改文件时间或创建新文件
7、查看路径
pwd //查看默认工作目录的完整路径 --连接(link)路径
pwd -P //显示出实际路径,而非连接(link)路径
pwdx 1158(进程号) //查看该进程号所属目录
8、进程、端口
ps -ef|grep java(程序名称) //查看tomcat进程,貌似tomcat,weblogic都可以用java进程来查,杀之
kill -9 进程数 //杀死进程(-9:强制)
netstat -an|grep 7988 //查看7988端口监听是否启动
jps //显示该用户,java进程
ps -aux | more //(静态)查看进程,分页显示; 动态查看:top ,详见 24、系统性能
ps -aux|grep tomcat //查tomcat进程(不同用户权限也可以看到)
netstat -anp | more //查看端口占用情况,-anp的p会把进程信息也显示出来
telnet 192.168.1.128 7988 //检测端口是否开放(在windows cmd中执行)
traceroute ip地址或域名 //追踪路由;cmd中:tracert
9、分配权限
chmod +x 目录/文件 //添加执行权限
chmod a+x filename/文件夹 //给文件所有(a)用户分配所有权限
chmod 777 文件/文件夹 //添加rwxrwxrwx权限,可读r:4,可写w:2,可执行x1
10、查找
find /home -name file //从目录/home开始搜索文件和目录
find /home -amin -10 //10分钟内存取的文件或目录;
说明:-a:存取,-c修改;min:分钟,time:小时;-:时间内,+:时间前
find /home -size +100000k //从/home目录开始查找大于100M的文件;
说明:+:大于,-:小于;k:kb,c:字节;可并用:find /home -size +5555c -size -5557c //大于5555字节小于5557字节
find /etc -name "abc*" -print //查找/etc下以abc开头的文件;-print:将匹配的文件输出到标准输出
grep "abc" xxx.java //显示xxx.java文件中有abc的行
grep -n "abc" xxx.java //带行号显示
grep "abc" xxx.java > xxx.text //覆盖写;<:导入,备份;
grep "abc" xxx.java >> xxx.text //追加写
grep 'test' d* //显示所有以d开头的文件中包含 test的行
grep ‘test’ a.file b.file c.file //显示在a.file,b.file,c.file文件中匹配test的行
grep ‘[a-z]{5}’ a.file //显示a.file文件中,至少有5个连续小写字符的字符串的行
grep magic /usr/src/Doc/* //在/usr/src/Doc目录下搜索带字符串’magic’的文件
which java
whereis java //查找jdk位置
cat /proc/version //查看linux版本信息
查看64位还是86位:
java -version //(Java)Java HotSpot(TM) 64-Bit:64位;默认没有一般是32位
uname -a (-r) //(Linux)x86_64:64位;i686:32位
11、查看 --日志
tail -f a.log //动态输出,另:tail -300 a.log ,只查看300条
tailf a.log
tail -n 10 a.log //最后10行
tail -n 10 a.log | head -n 5 //最后10行的前5行
cat /dev/null > file //将文件内容清空
view/cat/more a.log //静态查看
跳转:
1)、:0 , :1 , gg都可以到第一行;
2)、或者:$=检查总行数;比如24,:24到第24行
3)、shift+g(大写G)到末行;
4)、Ctrl + F/B,向前/向后页
查找:
先输入 / 再输入要查找的内容 最后回车。查找下/上一个单词所以位置用n/N
u 返回上一步操作,Ctrl+R撤销
:set nu //显示行号
12、移动/修改 --文件、文件名
mv test.log test1.txt //修改文件名为test1.txt
mv test1.txt test3 //移动文件或文件夹(可多个同时)到test3目录下
13、修改替换 --文件内容
sed -i "s/aaa/bbb/g" 1.txt // 将文件1.txt内的文字“aaa”批量替换成“bbb”
sed -i "s/aaa/bbb/g" 'ls' //将当前目录下的所有文件内的“aaa”替换成“bbb”,其实也就是ls出多个文件名
sed -i "s/aaa/bbb/g" 'grep aaa -rl /home' //替换/home下所有文件中的aaa替换为bbb
vi , vim (进入文件)--> i (进入可编辑状态)--> esc (退出可编辑状态)--> : (进入执行操作状态)--> wq, q!(保存退出, 不保存强制退出)
14、复制 --文件、目录
cp a.log test5 //复制到test目录中,,(带-a参数时,时间也是一致的)
说明:目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。
cp -a test3 test5 //复制整个目录到test5
说明:目标目录存在时,整个源目录(包括自身目录)被复制到目标目录里面;不存在,就创建test5,里面内容同test3
cp -r dir1 dir2 //(包括子文件夹)复制到dir2文件夹,-r:递归recursion,-f:强制force(慎用)
15、创建目录
mkdir test1 //创建一个空目录,touch:新建空文件
mkdir -v test2 //创建新目录,并显示创建信息
mkdir -p test3/test3_1 //递归创建多个目录
mkdir -vp test4/test4-1 //递归创建多个目录,并显示创建信息
mkdir -m 777 test5 //创建权限为777的目录 ,test5 的权限为rwxrwxrwx
16、删除 --文件、目录
rm a.log //删除文件file,系统会先询问是否删除
rm -i *.log //删除任何.log结尾的文件;删除前逐一询问确认
rm -r test1 //将 test1子目录及子目录中所有档案删除 ,会询问,-r:递归
rm -f a.log // 强行删除file,系统不再询问, 慎用
rm -- -f //删除以 -f 开头的文件
rmdir folder1 //删除空目录,非空目录删不了,只能用rm命令
17、用户管理
useradd xiaoming //增加xiaoming用户
passwd xiaoming //接着输两次密码
chown user1 /home/weblogic //把home目录下的weblogic目录的拥有者改为user1用户
chgrp group1/home/weblogic //把home目录下的weblogic目录的所属组改为group1组
cat /etc/passwd //查看用户列表(nscd下面为新建用户) ,w 查看活跃用户
cat /etc/group //查看组列表
awk -F":" '{print $1}' /etc/passwd //只查看所有的用户名
lastlog //查看所有用户(登录情况)x
18、解压、打包
tar -xzvf file.tar.gz //解压tar.gz包 至当前目录
tar -czvf /root/filename_$(date +%Y-%m-%d).tar.gz /home/weblogic/files //打包(.tar.gz)
tar -xvf file.tar //解压 tar包
unrar file.rar //解压rar
unzip file.zip //解压zip
19、RPM管理
rpm -ivh 目录/安装包名 //i:安装,v:显示进度条,h:显示安装信息
rpm -q mysql(软件名) //查看是否已经安装mysql
rpm -e samba(软件名) //卸载samba
20、乱码
export LANG=en_US //设置成英文,乱码时用
21、防火墙 --开,关
service iptables start/stop //开启/关闭防火墙,即时生效,重启后失效
chkconfig iptables on/off //重启后永久生效
22、设置网络 --ip
ifconfig //查看ip情况,cmd是ipconfig
ifconfig eth0 192.168.0.10 netmask 255.255.255.0 //方法1,设置(eth0)ip,立即生效,重启后失效
ifconfig eth0 up //连接eth0网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0 //方法2-1重启后永久生效,重启机器,IP不会丢失
setup //方法2-2, 界面配置,(需要root用户)
/etc/rc.d/init.d/network restart //运行该命令,使方法2-1,2-2的设置生效
23、远程登录
ssh 用户名@ip地址 //回车输入密码 ,登录到远程机器
24、远程文件传输
sftp 用户名@ip地址 //回车输入密码,登录到远程sftp
put /local_path/file /remote_path/ //上传
get /remote_path/file ./yb/ //下载, 到本地当前目录的yb文件夹中
help //查看sftp支持的命令
(推荐:不用先登录,更方便)
scp /local_path/file user@ip:/remote_path/ //上传
scp user@ip:/remote_path/file /local_path/ //下载
25、任务调度
crontab -l //查看有哪些定时任务
crontab -e //设置定时任务,进入添加定时任务文件中
格式 //minute hour day month week command
00 23 * * * /root/backup_nohup.sh //每晚11点执行,(分0-59 时0-23 日1-31 月1-12 星期0-6)
0 2 * * * date >> /home/mydate2 //每天凌晨2点,将系统时间追加写到mydate2文件中
crontab -r //终止任务调度(删除了crontab -e 的内容),-r:remove,小心使用
调度多个任务:
直接在crontab -e 中写多行 //方法一,不推荐
把多个任务都写到一个可执行文件中 //方法二,shell编程,推荐
vi /root/mytask.sh //在mytask.sh中写任务,然后在crontab -e 中调度mytask.sh执行文件即可
26、系统性能、内存
free -m //查看服务器内存使用情况,-g:G为单位,-m:M为单位
top //(动态)查看系统CPU运行情况,按q退出,或ctrl+c
top -d 10 //10秒刷新一次
按u //可选择显示那个用户的情况
cat /proc/cpuinfo //查看CPU的信息
reboot //重启服务器(用root用户登录)
vmstat 1 4 //监控Linux服务器的整体性能
uptime //查看Linux服务器的平均负载
w //详细查看负载
fdisk -l //查看硬盘及分区信息
df -h //检查文件系统的磁盘空间占用情况
iostat -d -x -k 1 5 //查看硬盘的I/O性能
du -sh /bin/ //查看指定目录的大小
du -cks * | sort -rn |head -n 10 //查看当前目录下的文件占用率
lsmod |grep ip //查看系统已载入的相关模块
27、 linux系统启动过程:
a)BIOS自检
b)启动GRUB/LILO
c)运行linux内核并检测硬件
d)运行第一个进程init
e)init读取系统引导配置文件 etc/inittab中的信息进行初始化
f)/etc/rc.d/rc.sysinit //系统初始化脚本,比如,启动的内容,用户密码
g)/etc/rc.d/rcX.d/[KS]* //根据运行级别x配置服务;终止"K"开头的服务,启动"S"开头的服务
h)/etc/rc.d/rc.local //执行本地特殊配置
i)其他特殊服务