表示当前目录;
.. 表示上层目录;
~表示用户主目录;
rm , 是remove的缩写 ,删除文件,不能删除目录。
rm -r 可以删除一个目录及其下面的内容,有提示信息。
rm -rf 强力删除一个目录及其下面的内容,没有提示。
mv, 是move的缩写,移动文件到另一个地方,mv [OPTION]... [-T] SOURCE DEST
将目录A重命名为B
mv A B
mv -i a.txt B/
如果目录B下有与a.txt同名的文件,则提示是否override.
mv -f a.txt B/
如果目录B下有与a.txt同名的文件,不会提示,直接override.
当要大量复制(或移动)文件时,会提示如下错误
$ cp sslib1/*.xml sslib/
-bash: /bin/cp: 参数列表过长
解决办法:
find upload/ -name "*.jpg" -exec mv {} /home/posadm/apache-tomcat-6.0.37/webapps/posm/upload/ \;
提示:在使用-exec参数时,必须以“\;”结尾,而且之前要有一个空格,否则,系统会提示“find遗漏-exec参数”,命令将无法执行
chmod u+x hello.txt ,增加文件的权限,
r ,w,x ,
u-->user;g-->group;o-->others;
mkdir ,新建一个目录。
mkdir -p about/abc/def 可以递级创建新的三个目录
如果想看看mkdir到底做了什么,可以添加选项“-v”,继续上面举例:
mkdir -pv about/abc/def
cp ,是copy paste的缩写,
cp [OPTION]... [-T] SOURCE DEST
cp file1 file2
可以在同一个目录中备份文件,意思是将file1拷备一份同时命名为file2
grep -lr 13714001947 *199002.trc
表示在当前目录中,在文件名为*199002.trc的文件中查找字符串13714001947,以文件名显示查找结果。
Linux命令敲错了,可以按ctrl +c 退出。
tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包
,-f指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的
tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
tar -czf all.tar.gz *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个
gzip压缩过的包,包名为all.tar.gz
tar -xzf all.tar.gz
这条命令是将上面产生的包解开
tar -cjf all.tar.bz2 *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个
bzip2压缩过的包,包名为all.tar.bz2
tar -xjf all.tar.bz2
这条命令是将上面产生的包解开
tar -cvzf tdshome.tar.gz tdshome/ --exclude=tdshome/app/posm/upload/skbPic --exclude=tdshome/log --exclude=tdshome/trc --exclude=tdshome/app/posm/exportexcel
查询当前log目录下最近两天所有的以log结束的文件,并压缩到aaa.tar.gz
find log -name "*.log" -mtime -1|xargs tar -cvzf aaa.tar.gz
vim hello.c //如果hello.c文件不存在,将创建,如果存在,将打开
vim 中查找方法: 用vim找开一个文件时,输入 /XXXXX,回车即可查找。
vim 中输入G,可直接定位到文件末尾。
du -h logs/*
--max-depth=1 指定深入目录的层数
指令 du 能以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小
true >log.txt 清空文件的内容
ps -e 显示所有进程 -f 全格式
rpm -ivh 软件包名
安装软件包并显示安装进度。这个是用得最多的了
rpm -qa
查询已经安装哪些软件包。
rpm -q 软件包名
查询指定软件包是否已经安装。
rpm -Uvh 软件包名
升级一个软件包。
rpm -e 软件包名
删除指定软件包。
netstat -ntpl
用于查看系统启动的服务.
netstat -antp|grep 8013|wc -l
统计开启端口为8013服务的连接数
find -name 文件名;
根据名称查找文件。
find -user 属主名;
根据文件的属主查询文件。
whereis 主要用于查找程序文件
which 也是查找命令文件,比如:which mysqldump
whereis -b find 查找find命令文件的存放位置
sz 文件名;
可以传从linux中传文件到本地电脑。
rz
从本地传文件到linux可直接拖到窗口中.
防火墙的开启/关闭/状态查看
service iptables start/stop/status
MySQL中导入数据
mysql> source xxx.sql;
mysql中数据库的备份
mysqldump -u 用户名 -p 数据库 > xxx.sql;
如:mysqldump -u root -p z_p2p_quartz > /home/p2padmin/quartzDump.sql
ping -c 4 www.baidu.com表示发送4次请求。
要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`
2.1 将文件1.txt内的文字“garden”替换成“mirGarden”
sed -i "s/garden/mirGarden/g" 1.txt //sed -i 很简单
2.2 将当前目录下的所有文件内的“garden”替换成“mirGarden”
sed -i "s/garden/mirGarden/g" `ls` //其实也就是ls出多个文件名而已
服务器之间文件的复制
yum install openssh-clients
scp root@183.63.52.147:/home/posadm/tdshome/trc/201409/30/jdk1.6.0_45.tar.gz /home/michale
在线安装at
yum install at
在线安装crontab
yum install -y vixie-cron
查看状态
service crond status
启动服务
service crond start
crontab -e 进行文件的编辑,里面的语法同vi命令
默认情况下,crontab中执行的日志写在/var/log下
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
第三方软件源
在线安装sz ,rz命令
yum isntall
-y lrzsz
网络不通要查看路由
vi /etc/sysconfig/network-scripts/route-eth0
172.18.210.0/24 via 172.18.200.2
添加完之后, service network restart
vi /etc/resolv.conf 设置域名解析服务器
重启网络后,是看NetworkManager服务是否也自动开启了,如果开启了就要关闭掉。
局域网中添加网关的方法
route add default gw 192.168.1.1
192.168.1.1是你局域网的网关地址
lsof
它的意思是 List Open Files,很简单你就记住了它是 “ls + of”的组合
lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能
lsof -i //显示所有打开的端口
lsof -i:80 //显示所有打开80端口的进程
在线安装telnet
yum install telent -y
telnet ip port 的返回值来确定是否开通
https的端口是443
hostname可以查看主机名
vi /etc/sysconfig/network
修改此文件可以修改主机名,修改完成后要重启服务器。
一台服务器能ping通,但用telnet访问一个开启了的端口时不通,可能原因是开启了防火墙,关闭掉就行
ls -lrt `grep -lr 183.63.52.147 *701137.trc`
查找包括指定内容的所有文件,并列出文件的详细情况,并排序。
查看目录的大小
du -s dir;dir代表要查看的目录, 文件也行
删除文件后,重启系统磁盘空间才会增加
du -sh *
查看当前目录下各文件的大小
linux中查看内存的使用情况
cat /proc/meminfo
mtime查询的是文件last modified时间,其中最让人迷惑的就是参数 +N 、 N 、 -N 三个参数的意义了。
网上有朋友说不同linux版本这3个参数意义不同,我没有考证,下面的说明都是基于centos5.5 64bit final。
+N | -∞ —— (当前时间-(N+1)*24) |
-N | (当前时间-N*24)—— +∞ |
N | (当前时间-(n+1)*24 —— (当前时间 - n*24) |
#一些应用
-mtime 0:24小时内
-daystart -mtime 0:今天00:00:00至现在被修改的文件,注意顺序! -mtime 0 -daystart 将得到错误的结果。
-mtime +0: 24小时前
虚拟机安装了Centos,忘记了root密码,如何处理
(1)重新启动Centos,在启动过程中,长按“ESC”键,进入GNU GRUB界面
(2)选择要进入的系统,按“E”键(在启动之前编辑命令)。
(3)选择第二项操作系统的内核“kernel”,按"E"键(在引导顺序编辑选定的命令)
(4)在 “rhgb quiet”后面间隔,输入“1”或者“single”,按Enter键保存。(向内核传递启动参数,进入单用户模式)
此时又回到GRUB界面.
(5)这时,按“B”键启动系统。(6)输入命令行“passwd root”重新修改root的密码,按“Enter”键
(7) reboot重启系统
linux如何查看所有的用户和组信息
awk是以文件的一行为处理单位的,awk每接收文件的一行,然后执行相就的命令,来处理文件,
文件的每一行中,由域分隔符分开的每一项称为一个哉。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格
cat /etc/passwd|awk -F ':' '{print $1","$7}'
打印每一行的第一个域及第7个域,$0表示所有哉
curl ip.cn 查看外网ip
查看CPU的内存使用状态
top
%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机偷走的cpu
jdk内存查看jstat -gcutil 2083 1000 5
jmap -heap pid
http://blog.youkuaiyun.com/jimmy1980/article/details/4968308
https://my.oschina.net/feichexia/blog/196575
查看某个进程中最耗费CPU的线程
top -Hp pid
得到13876的十六进制值为3634
printf "%x\n" 13876
查看最耗cpu的类
jstack 13852|grep 3634