linux 常用命令记录

说明:本文是在工作中遇到一些命令的记录,不同命令参考自不同博文

 

查看linux系统版本信息
lsb_release -a

下载文件
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz

利用secureCRT在windows 和 linux 间互传文件
上传 rz
下载 sz

ldconfig命令
用途主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。


统计当前文件夹下文件的个数
ls -l |grep "^-"|wc -l
统计当前文件夹下目录的个数
ls -l | grep  "^d" | wc -l
统计当前文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l
统计文件夹下目录的个数,包括子文件夹里的
ls -lR|grep "^d"|wc -l

文件名按时间排序
ls -lrt
-r 逆序;-t 按修改时间排序(最新的在最前面)


# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l


在linux中运行命令行时,会输出一些日志信息,特别典型的是启用WebLogic命令时,输出一些信息,当启用demon模式运行时,又想收集这些信息咋办?
解决的办法就是使用输出重定向,如下面的命令:
nohup ./startWebLogic.sh  >  app.log    2>&1    &
其中app.log是保存输出的文件名称;
2>&1 表示不仅命令行正常的输出保存到app.log中,产生错误信息的输出也保存到app.log文件中;
& 表示该进程在后台运行;
nohup表示进程在当用户注销(logout)或者网络断开时不会被终止。
注意:这里若不指定输出日志文件,缺省地会输出到nohup.out文件中

*/2 * * * * root cd /opt/xxxx/test_S1/html/xxxx/admin; php index.php task testOne >/dev/null 2>&1
对于& 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。
对于2 ,表示标准错误,stderr。
2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null
可以把/dev/null 可以看作"黑洞". 它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到.
偶尔也可以把 & 在命令的最后加上,表示让程序后台执行。

 

防火墙
service iptables status


查看端口被哪个进程占用
netstat -tunlp

linux服务器间传送文件
scp [file] root@xx.xx.xx.xx:/lib

 

>(覆盖)和>>(追加)都是重定向输出
1> 指标准信息输出路径(也就是默认的输出方式)
2> 指错误信息输出路径
2>&1 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)


rar解压
rar x aa.rar


tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2   //解压 tar.bz2
tar -xZvf file.tar.Z   //解压tar.Z
unrar e file.rar //解压rar
rar a test.rar *.jpg //将所有.jpg的文件压缩成一个rar包
unzip file.zip //解压zip

 


fdisk -l
mount /dev/sdb8 /device
df -h

当找不到根目录时(磁盘满了)http://www.desipo.com/linuxxitongdfminglingxianshiyichanggenmulufenqudiushiwentijiejue-a-203.html
grep -v rootfs /proc/mounts > /etc/mtab

 

grep -v xxx是指不显示包含xxx的行或文件,-v表示取反的意思

 

NFS
文件所在的服务器:ip1 文件夹为/home/nfs_data (被挂载地址)
应用服务器:ip2 文件夹为/home/nfs_data (挂载到的地方)
安装:CentOS是自带NFS,所以无需安装,要安装的话用yum -y install nfs-utils rpcbind
启动NFS:默认已启动,如果没有启动,输入命令:service rpcbind start、service nfs start
1、在 ip1 设置共享目录,把该目录开放给 ip2,编辑/etc/exports,增加一行
/home/nfs_data/ ip2(rw,no_root_squash,no_all_squash,sync)
2、使配置生效,输入命令:exportfs -r
3、查看已共享的目录,命令:
本机:showmount -e
其他:showmount -e IP
4、在 ip2 挂载共享文件夹,输入命令:
mount -t nfs  -o nfsvers=3 ip1:/home/nfs_data /home/nfs_data 为了都有读写权限,指定使用nfs3版本,而不指定的话,默认的是4
5、完成。ip2 的nfs_data已指向 ip1 的nfs_data

 

top命令
c: 显示完整的命令
d: 更改刷新频率
f: 增加或减少要显示的列(选中的会变成大写并加*号)
F: 选择排序的列
h: 显示帮助画面
H: 显示线程
i: 忽略闲置和僵死进程
k: 通过给予一个PID和一个signal来终止一个进程。(默认signal为15。在安全模式中此命令被屏蔽)
l:  显示平均负载以及启动时间(即显示影藏第一行)
m: 显示内存信息
M: 根据内存资源使用大小进行排序
N: 按PID由高到低排列
o: 改变列显示的顺序
O: 选择排序的列,与F完全相同
P: 根据CPU资源使用大小进行排序
q: 退出top命令
r: 修改进程的nice值(优先级)。优先级默认为10,正值使优先级降低,反之则提高的优先级
s: 设置刷新频率(默认单位为秒,如有小数则换算成ms)。默认值是5s,输入0值则系统将不断刷新
S: 累计模式(把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+ )
T: 根据进程使用CPU的累积时间排序
t: 显示进程和CPU状态信息(即显示影藏CPU行)
u: 指定用户进程
W: 将当前设置写入~/.toprc文件,下次启动自动调用toprc文件的设置
<: 向前翻页
>: 向后翻页
?: 显示帮助画面
1(数字1): 显示每个CPU的详细情况

 

移动前 10000 文件到指定目录
mv `ls |sed -n 1,10000p` [目标目录]


vi命令
查找:
  /[要查找的内容]
  n:向后查找下一个
  N:向前查找上一个
  向下翻页(下一页):Ctrl + f
  向上翻页(上一页):Ctrl + b
  跳到文本的第一行:gg
  跳到文本的最后一行:G
  跳到光标行最前:0
  跳到光标行最后:$
编辑:
  撤销操作:u
  恢复操作:ctrl+r
  dd:删除游标所在的一整行(常用)
  ndd:n为数字。删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行
  d1G:删除光标所在到第一行的所有数据
  dG:删除光标所在到最后一行的所有数据
  d$:删除光标所在处,到该行的最后一个字符
  d0:那个是数字0,删除光标所在到该行的最前面的一个字符
  x,X:x向后删除一个字符(相当于[del]按键),X向前删除一个字符(相当于[backspace]即退格键)
  nx:n为数字,连续向后删除n个字符
 
 
find
1.按照文件名查找
find /etc -name '*srm*' #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
2.按照文件特征查找
find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -size -1000k #查找出小于1000KB的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
3.使用混合查找方式查找文件
参数有: !,-and(-a),-or(-o)。
find /tmp -size +10000c -and -mtime +2 #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
find / -user fred -or -user george #在/目录下查找用户是fred或者george的文件文件
find /tmp ! -user panda #在/tmp目录中查找所有不属于panda用户的文件

查找包含关键字的文件
find . -type f -name "*" |xargs grep 'abcdeabcde'
grep 'abcdeabcde' *

 


-exec、xargs 两者都是对符合条件的文件执行所给的Linux 命令
-exec:{}表示命令的参数即为所找到的文件,以;表示comman命令的结束。\是转义符,因为分号在命令中还有它用途,所以就用一个\来限定表示这是一个分号而不是表示其它意思。
xargs:要结合管道来完成。格式:find [option] express |xargs command

$find test/ -type f
test/myfile.name
test/files/role_file
test/files/install_file

$find test/ -type f |xargs echo
test/myfile.name test/files/role_file test/files/install_file

$find test/ -type f -exec echo {} \;
test/myfile.name
test/files/role_file
test/files/install_file

很明显,exec是对每个找到的文件执行一次命令,除非这单个的文件名超过了几k,否则不会出现命令行超长出报错的问题。
而xargs是把所有找到的文件名一股脑的转给命令。当文件很多时,这些文件名组合成的命令行参数很容易超长,导致命令出错。

相比之下,也不难看出各自的缺点
1、exec 每处理一个文件或者目录,它都需要启动一次命令,效率不好;
2、exec 格式麻烦,必须用 {} 做文件的代位符,必须用 \; 作为命令的结束符,书写不便。
3、xargs 不能操作文件名有空格的文件;
综上,如果要使用的命令支持一次处理多个文件,并且也知道这些文件里没有带空格的文件,
那么使用 xargs比较方便; 否则,就要用 exec了。

 

less:与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件
1.全屏导航
    ctrl + F - 向前移动一屏
    ctrl + B - 向后移动一屏
    ctrl + D - 向前移动半屏
    ctrl + U - 向后移动半屏
2.单行导航
    j - 向前移动一行
    k - 向后移动一行
3.其它导航
    G - 移动到最后一行
    g - 移动到第一行
    q / ZZ - 退出 less 命令
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)

 

crontab:定时任务
minute hour day month week command
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以记录常用的linux命令,特别是比较长的,非常有用。使用方法:把该Q可执行文件考备份到linux上,任何目录都行,第一次执行用./q的方式执行,第一次执行之后q程序会被加到系统目录,以后每次执行都可以像使用系统命令一样。例如 1.查看保存过的命令 [root@localhost ~]# q 1_____clear 2_____tar -xzvf 3_____tar -czvf 4_____rpm -ivh 5_____lsnrctl status 6_____lsnrctl start 7_____lsnrctl stop 8_____vi /home/oracle/ora/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 9_____/opt/lampp/lampp start 10_____/opt/lampp/lampp restart 11_____/opt/lampp/lampp stop 2.添加新命令 [root@localhost ~]# q -a "sqlplus /as sysdba" 1_____clear 2_____tar -xzvf 3_____tar -czvf 4_____rpm -ivh 5_____lsnrctl status 6_____lsnrctl start 7_____lsnrctl stop 8_____vi /home/oracle/ora/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 9_____/opt/lampp/lampp start 10_____/opt/lampp/lampp restart 11_____/opt/lampp/lampp stop 12_____sqlplus /as sysdba 3.删除命令 [root@localhost ~]# q -d 12 1_____clear 2_____tar -xzvf 3_____tar -czvf 4_____rpm -ivh 5_____lsnrctl status 6_____lsnrctl start 7_____lsnrctl stop 8_____vi /home/oracle/ora/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 9_____/opt/lampp/lampp start 10_____/opt/lampp/lampp restart 11_____/opt/lampp/lampp stop 4.执行保存过的命令 [root@localhost ~]# q 10 Stopping XAMPP for Linux 1.8.1... XAMPP: Stopping Apache with SSL... XAMPP: Stopping MySQL... XAMPP: XAMPP-ProFTPD is not running. XAMPP stopped.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值