我的linux命令笔记
《我的linux命令笔记》要点: 允许非root用户使用“sudo” root身份登录系统,执行“visudo”,根据示例添加新的一个规则(记住输入的密码是当前用户密码,而不是root密码) #不需要密码执行sudo命令 hadoop ? ? ? ?ALL=(ALL) ? ? ? NOPASSWD: ALL 日期? 时间戳转日期 date -d ‘1970-01-01 UTC 1312438633.724 seconds’ +”%Y-%m-%d %T” #显示现在日期 echo `date -d now +%Y%m%d` #显示昨天日期 echo `date -d yesterday +%Y%m%d` #加减时间 date +%Y%m%d –date=”-1 day” date +%Y%m%d%H –date=”-1 hour” 查看网站是什么服务器 curl -s –head “http://www.baidu.com” 查看redhat版本? cat /etc/redhat-release #我这里显示“CentOS release 5.5 (Final)” 查看linux最大可以打开文件数量 写道 ulimit -a # 关注屏显其中一行,可以看出最大打开文件数量为1024 open files (-n) 1024 设置打开文件数量: echo -ne ” * soft nofile 65536 * hard nofile 65536 ” >>/etc/security/limits.conf 推出终端后,在执行ulimit -a,可以看出修改已经生效 zip压缩文件 zip {dist} {src} zip -P {password} {dist} {src} 只允许root远程登录 cd /etc touch nologin 锁定用户,查看机器64位还是32位 uname -m #会显示:“i686”、“x86_64” 无法远程登录(root only) passwd -l hadoop 解锁用户(root only)? passwd -u hadoop 列出rpm安装程序的文件路径 rpm -ql hadoop-0.20 查看系统已经安装软件 rpm -qa | grep hadoop 查看当前服务器总的cpu core数量(有多少核) more /proc/cpuinfo | grep ‘processor’ | wc -l #查看每个CPU的核数 more /proc/cpuinfo | grep ‘cpu cores’ #计算当前服务cpu数量 总核数 / 每个CPU的核数 #查看CPU位数 getconf LONG_BIT 查看程序的安装路径 whereis java 查看执行程序的路径 which java 修改DNS IP ? vi /etc/resolv.conf 查看内存 ? free 查看CPU是否支持64操作系统 如果结果大于0,说明支持64bit模式(long mode) cat /proc/cpuinfo | grep flags | grep ‘ lm ‘ | wc -l 查看某行内容 sed -n ‘100{p;q}’ filename 查看用户所属组 grep “用户名” /etc/group 查看rpm包文件 rpm2cpio hadoop.rpm | cpio -idmv 添加某个路径到运行时库,一行一个path vi /etc/ld.so.conf /usr/local/lib/ (或者使用环境变量的方式,这种方向不需要root权限) export LD_LIBRARY_PATH=/xxxxx:$LD_LIBRARY_PATH centos下通过shell修改文件扩展名 rename <oldname> <newname> <*.files> #将所有html扩展名改为htm扩展名 rename .html .htm ? *.html 具体参考:http://www.cyberciti.biz/tips/renaming-multiple-files-at-a-shell-prompt.html #通过mv也可以实现修改扩展名这个功能 mv goodYear.{htm,html} sort命令 # -u 去除重复行 # -r 降序(默认为升序) # -o 输出排序后数据,他与重定向’>’最大的区别是输出数据到原文件 sort seq.txt -o > seq.txt # -n 根据数值大小排序 # -k 指定根据某列排序 sort num.txt -k2 ?# 根据第二列排序(默认分隔符为空格、tab) # -t 指定列分隔符,仅支持一个字符 # -m 归并排序 linux 命令行参数引用 运行命令: ./test.sh 111 222 333 444 echo 运行文件名称:$0 #./test.sh echo 第一个参数:$1 #111 echo 参数个数:$# #4 echo 最后一个:$_ #444 echo 所有参数,参数被认为是多个字符串:$@ #111 222 333 444 echo 所有参数,参数被认为是一个字符串: $* #111 222 333 444 echo 程序pid: $$ echo 退出code: $? less命令? tip1:敲入50p,可以进入50%的文档位置,支持小数,如95.5p 脚本改密码 #方法一 echo 123123 |passwd –stdin abc #方法二 #echo “root:!@#$QW12qw”|chpasswd #pwdadm -c root http://www.aixchina.net/club/thread-69699-1-1.html 一行命令创建用户并设置密码 useradd -p `openssl passwd <pwd>` -g <group_name> <username> 创建用户并禁止远程登录 useradd -s /sbin/nologin ak47 查询用户crontab运行记录? cat /var/log/cron | grep <username> 修改linux用户目录 usermod -d /home/hdfs -U hdfs 磁盘速度测试 hdparm -t /dev/sda1 快速查找文件(根据文件名) # locate命令负责查找,updatedb命令生成文件索引(daily) locate *qq*.txt chkconfig chkconfig –list | more # 列出所有系统服务 chkconfig <service_name> off|on # 关闭、打开系统服务 第一次SSH登录不提示 配置ssh conf文件中StrictHostKeyChecking no top? c ? ? # 显示程序完整路径 m ? ?# 按照内存排序 P ? ?# ?按照CPU排序 top -p <pid> # 查看进程top #RES表示物理内存占用,在ps命令中是rss表示物理内存 bz2文件解压缩 bunzip2 yy.bz2 查看重复次数(shell 实现的group by + count)? # uniq前一定要先sort,uniq参数-c,将打印分组重复次数 cat xx.TXT | sort | uniq -c tar命令使用? tar -zcf my.tgz my # 压缩打包 tar -cf my.tgz my # 不压缩打包 tar -zxf my.tgz my # 解压缩包 tar -xf my.tgz my # 解不压缩的包 tar -tf # 查看tar包结构 find #-o: 或条件 # 查找当前目录下所有.htm和.html结尾的文件 find . \( -name “*.htm” -o -name “*.html” \) # -a: and条件 grep #查找文本中包含boy和girl的行 cat my.txt | grep -E ‘boy|girl’ # 根据文本内容查找文件名,”-H”用于输出文件名 find . -name ‘*city*’ -ls -exec zgrep ‘null’ {} -H ?\; # “or”查找 方法一:grep ‘pattern1\|pattern2’ filename 方法二:grep -E ‘pattern1|pattern2’ filename 方法三:egrep ‘pattern1|pattern2’ filename 方法四:grep -e pattern1 -e pattern2 filename # “and”查找 方法一:grep -E ‘pattern1.*pattern2’ filename 方法二:grep -E ‘pattern1’ filename | grep -E ‘pattern2’ 修改hostname? 方法一:hostname <new hostname> 方法二:vi /etc/sysconfig/network 查看打开文件数 lsof |wc -l lsof -p pid |wc -l 查看哪些程序在使用磁盘 iotop 创建大文件 dd if=/dev/zero of=test bs=1M count=1000 #更大文件可以用下面这个,快些 dd if=/dev/zero of=test bs=1M count=0 seek=100000 文章出处:http://heipark.iteye.com/blog/1083805 (编辑:ASP站长网) |