日期:2014-05-16  浏览次数:20768 次

Linux日知录(常用问题笔记秘籍) .

0)序言

日有一知,当有一录,自09年来,工作所需,接触开源平台,对Linux常有涉猎,其间问题,记录在案,虽为敝帚,不敢自珍,所记条目,并未严格整理,但愿于后来者有所裨益.

?

1)常用

查看某个命令的路径

which:查看某个命令的路径,该命令在PATH变量配置的路径中寻找命令,并给出第一个查询结果返回

?

查看用户信息的几种方法

finger

id

groups

?

删除目录

目录为空,可以用 rmdir 删除 如果目录不为空,可以用rm -rf 删除

?

创建符号链接(快捷方式)

ln -s {target-filename} {symbolic-filename}

For example create softlink for /webroot/home/httpd/test.com/index.php as /home/vivek/index.php, enter the following command:
ln -s /webroot/home/httpd/test.com/index.php /home/vivek/index.php
ls -l

?

查看系统启动日志

dmesg | more

?

grep

忽略大小写

grep -i

?

随机产生网卡地址

#!/bin/sh
exec 2>/dev/null
dd if=/dev/urandom bs=1 count=6 | od -t x1 | sed '2d;s/^0\+ //;s/ /:/g'

?

添加path变量的三种方法

1)修改/etc/profile文件,此修改对全局用户有效

2)修改.bashrc文件,可以精确到用户(只对当前用户有效)

3)直接在shell下加入变量,shell退出则失效

?

按照时间顺序列出文件

ls –t

?

按照时间逆序列出文件(新文件在后)

ls –rt (r 代表reverse意,可以逆转所有排序)

?

ls在当前目录下查找某个文件,但不列出子文件夹中的内容

ls –d "pattern"

?

拷贝一个目录下的所有文件

cp -R

?

修改fstab后如何不重启加载所有文件系统

mount –a

?

移动文件夹

mv src dest

?

查看linux版本

1. 查看内核版本命令:
  1) [root@q1test01 ~]# cat /proc/version
   Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
  2) [root@q1test01 ~]# uname -a
  Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
  3) [root@q1test01 ~]# uname -r
  2.6.9-22.ELsmp
  2. 查看linux版本:
  1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:
  [root@3.5.5Biz-46 ~]# [root@q1test01 ~]# lsb_release -a
  LSB Version: :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:graphics-3.0-amd64:graphics-3.0-
  ia32:graphics-3.0-noarch
  Distributor ID: RedHatEnterpriseAS
  Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
  Release: 4
  Codename: NahantUpdate2
  注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。
  2) 登录到linux执行cat /etc/issue,例如如下:
  [root@q1test01 ~]# cat /etc/issue
  Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
  Kernel \r on an \m
  3) 登录到linux执行cat /etc/redhat-release ,例如如下:
  [root@q1test01 ~]# cat /etc/redhat-release
  Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
  注:这种方式下可以直接看到具体的版本号,比如 AS4 Update 1
  4)登录到linux执行rpm -q redhat-release ,例如如下:
  [root@q1test01 ~]# rpm -q redhat-release
  redhat-release-4AS-3
  注:这种方式下可看到一个所谓的release号,比如上边的例子是3
  这个release号和实际的版本之间存在一定的对应关系,如下:
  redhat-release-3AS-1 -> Redhat Enterprise Linux AS 3
  redhat-release-3AS-7.4 -> Redhat Enterprise Linux AS 3 Update 4
  redhat-release-4AS-2 -> Redhat Enterprise Linux AS 4
  redhat-release-4AS-2.4 -> Redhat Enterprise Linux AS 4 Update 1
  redhat-release-4AS-3 -> Redhat Enterprise Linux AS 4 Update 2
  redhat-release-4AS-4.1 -> Redhat Enterprise Linux AS 4 Update 3
  redhat-release-4AS-5.5 -> Redhat Enterprise Linux AS 4 Update 4
  另:第3)、4)两种方法只对Redhat Linux有效。

?

2)启动相关

如何自动mount

添加开机启动后自动mount的文件系统,可以通过在fstab中添加项完成,比如添加一个windows的共享连接

?

修改fstab后如何不重启加载所有文件系统

mount –a

?

添加一个需要在启动时运行的服务:

方法一:在rc3.d中创建一个link

方法二:在rc.local中加入启动项

?

init.d,rc[X].d 目录关系

在这个目录下的档案都是连结档,均指向到 /etc/rc.d/init.d 这个目录下,而这个 /etc/rc.d/init.d 目录则是以 Linux 的 rpm 安装方法时,设定一些服务的启动目录。举个例子来说,如果你要重新启动 sendmail 的话,而且你的 sendmail 是以 rpm 来安装的,那么下达 /etc/rc.d/ini