现在的位置: 首页 > 综合 > 正文

Linux使用笔记

2013年01月23日 ⁄ 综合 ⁄ 共 1920字 ⁄ 字号 评论关闭

环境说明:Redhat Linux As4

  • rename 用于批量改名,和windows中意义不一样。 可以用mv代替之。
  • 用secureCRT连接,出现中文乱码。解决办法:Option->Session Option->Terminal->Appearance->Character encoding:修改为UTF-8即可。 c文件中如果有中文,需要处理一下,方法:在editplus中,另存为-转换器选择UTF-8,否则在secureCRT中看就是乱码。
  • secureCRT外观设置:Option->Session Option->Terminal->Emulation-> 在右边的Terminal中选择Linux。
  • root登录之后,ifconfig找不到命令。原因是/sbin没有加入path。解决办法是vi /root/.bashrc,加入一行: export PATH=$PATH:/usr/sbin:/sbin,保存后,重新切换到root即可。要特别注意的是:PATH=$PATH的等号两边都不能有空格。左边有空格会报bash: export: `=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/sss/bin:/usr/sbin:/sbin:/usr/sbin:/sbin': not a valid identifier;右边有空格很严重,直接导致vi都不能使用了。只好进入Linux主机,修改该文件。
  • vi复制:单行yy,p粘贴。块复制:mb开头,光标移动到结束位置,按"ay`b,再到需要的位置p粘贴。 
  • 使用线程,编译时需要加-lpthread参数
  • 使用自定义的头文件,头文件与c实现文件名称一样,编译时要将主文件和引用的文件一起编译 eg:gcc -lpthread  -o server server.c inifile.c
  • grep简单用法:grep -n "SDstart" /usr/local/include/hdf/mfhdf.h  -n显示行号
  • find 结合grep查找指定文件中的字符串 1.find /usr/include/*.h |xargs grep "typedef pthread"  xargs表示前面的结果作为grep的参数。 2.find /usr/include/*.h  -exec grep "typedef pthread" {} /;  表示每找到一个执行后面的grep,并显示找到的文件完整路径。注意{}与/;之间有空格。
  • 查找端口占用情况:netstat -tuanp,可以查看到pid。比如netstat -tuanp |grep 3333 /usr/sbin/lsof -i:3333也可以,但是,如果进程已经退出,端口处于TIME_WAIT状态时,lsof检测不出。
  • 快速杀死进程,包含了查找:kill -9 `ps -ef|grep "server 3333 1"|awk '{print $2}'` 虽然能杀死,但是总会报错。找不到什么东东下面这句就比较完美了。grep –v grep实际上是排除了 含有grep本身这个进程 kill -9 `ps -ef|grep "server 3333 1" |grep -v grep |awk '{print $2}'`
  • du -s -h 文件夹,可查看某文件夹大小。其中-s为--summarize,-h为--human-readable
  • ls要查看精确时间,可以使用ls --full-time;-h一样好使,human-readable!
  • sort命令也很有用。比如ls -l|sort +5 可以按照修改时间排序,默认是升序,但可以加-r参数reverse. 直接加数字是从第0个字段开始算的。如果用-kn的方式,从1开始算。可以使用ls -l |sort -k6 -k1这样的方式来组合排序,非常方便。-t可以指定分隔符。甚至,sort强大到可以用+1.2来表示从第一个字段第三个字符开始排序。
  • 更改日期:date -s "yyyy-MM-dd HH:mm:ss"
  • redhat中cp 默认alias为cp -i,如果不想覆盖,就使用/cp 就是原生的cp功能了。
  • 如果一个命令需要输入密码,但这个命令只是一个shell的步骤,需要自动化,可以这么做echo passwd|thecmd
  • 如果要输入回车符,使用echo -e '/n'
  • 执行shell脚本的时候,出现错误:/bin/sh^M: bad interpreter: No such file or directory。原因是文件编码的问题。解决如下:vi这个文件; :set ff看一下文件编码是什么,一看是dos,再:set ff=unix存盘退出即可。

抱歉!评论已关闭.