`

Linux 常用命令

 
阅读更多

 

==============reference documents===================

+1:

+ http://v.youku.com/v_show/id_XMzQ5NzA1ODQ=.html

+ 2:

+<<鸟哥的私房菜>>

+

================================================

 

#关机 (推荐)

shutdown -h now   

#重启 (推荐)

shutdown -r now   

#快速重启(跳过Sync 过程)(不推荐)

reboot

#关机 (不推荐)

init 0

#重启 (不推荐)

init 6

#文字界面启动

init 3

#图形界面启动

init 5

#单用户模式

init 1

#系统停机

halt

 

 

 

1. uname   -a

查看OS版本信息

 

 

2. dmesg
查看本机硬件状况

 

3. passwd

修改用户密码

eg. passwd username

 

3A. useradd

创建新用户

eg. useradd username

 

 

4. exit

退出系统

 

 

文件与目录操作

 

 

 

 

 

5. cat

来查看一个文件的内容

eg. cat log.txt

 

同时查看多个文件

 

 

 

 

 

 

cat 文件名A 文件名B

 

6. more

 

 

 

 

 

如果文本文件比较长一屏无法显示完那么使用

 

 

 

 

 

 

cat命令就可能无法看清这里我们可以简单地使用more来代替cat

命令即可,按空格键就可以看到下一屏.

 

7. less

 

 

less命令的功能几乎和more命令一样也是按页显示文件不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件

1) 向前翻按b键

2) 向后翻按p键

3) 指定位置输入百分比

4) 退出q

 

 8. head

 

通过

 

 

 

 

head命令可以仅查看某文件的前几行格式为 head 行数文件名 如果未指定行数则使用默认值10

 

 

eg.

 head -n 30 xxxx.txt 

 

9. tail

tail命令与head命令相对应的我们可以使用tail命令来查看文件尾部的内容通常用来实时监测某个文件是否被修改通常用来观察日志

如 tail -f  xxx.log

 

10. vi

 

UNIX里有许多文字编辑工具,

 

其中最常用的应该是vi这是一个广泛应用于所有UNIX系统的编辑器。

它的使用有些特别

首先可以使用命令vi 文件名打开一个文件。

刚启动的时候,vi处于命令状态,不能够输入任何字符, 在这个状态下,可以使用方向键进行移动,而需要输入内容时,你需要输入i或a命令进入编辑状态。

编辑完成后你需要按下ESC键回到命令状态。

在命令状态下你可以输入:q!不存盘退出输入:wq存盘退出。

 

 

文件的复制删除与移动

 

11. cp

cp命令:文件/目录复制命令。

它的语法格式为:

cp [选项] 源文件或目录 目标文件或目录

常用的选项有:

 1) a 该选项常在复制目录时使用,它保留链接,文件属性,并递归地复制目录,就象DOS中的xcopy /s一样

2) f 如果目标文件或目录已存在,就覆盖它,并且不做提示

3)i 与f选项正好相反,它在覆盖时,会让用户回答Y来确认

4)p 使用该选项复制文件时,将保留修改时间和访问权限 

5)r 若给出的源是一个目录,那么cp将递归复制该目录下所有的子目录和文件,不过这要求目标也是一个目录名。

另外,大家要注意的是,如果源是文件名,目标是目录名的话那么使用cp命令可以指定多个源文件名,如: $ cp a.txt b.txt /home/user1

该命令将把a.txt和b.txt文件复制到/home/usr1目录中

 

12. rm

rm命令:文件/目录删除命令

它的语法格式为:rm [选项] 文件...

常用的选项有:

1) f 在删除过程中不给任何指示直接删除

2) r 指示rm将参数中列出的全部目录和子目录都递归地删除
3) i 交互式的删除每个文件在删除时都给出提示使用rm命令时一定要小心,特别是以root用户登录时,我就看到过一个朋友在使用rm命令删除/home/tmp目录时将命令
"rm -rf /home/tmp" 误输成了"rm -rf / home/tmp"
结果等他走回电脑面前,整个系统都被删除了!

 

 

13. mv

mv命令:文件/目录移动命令

它的语法格式为:mv [选项] 源文件或目录 目标文件或目录

常用的选项有:

 1) f 如果操作要覆盖某已有的目标文件时不给任何指示

 2) i 交互式的操作,如果操作要覆盖某已有的目标文件时会询问用户是否覆盖

 mv命令的执行效果与参数类型的不同而不同

 第一参数源 第二个参数   目标结果
 文件名        文件名     将源文件名改为目标文件名
 文件名        目录名     将文件移动到目标目录
 目录名        目录名     目标目录已存在,源目录移动到目标目录
                              目标目录不存在改名
 目录名        文件名     出错

 

 

 14. mkdir

 创建目录

 

15. rmdir

 删除目录

 

16. cd

 

17. pwd

显示当前目录

 

18. ls

列目录命令:相当于DOS下的dir

它的语法为:ls [选项] [目录或文件]

常用的选项有

1) a 显示指定目录下所有的子目录与文件包括隐藏文件
2) c 按文件的修改时间排序
3) l 采用长格式来显示文件的详细信息,每个文件一行信息,其内容为:文件类型与权限链接数 文件属主 文件属组 文件大小 最近修改时间 文件名

 

 

19). chmod

这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.

该命令有两种用法

用包含字母和操作符表达式的文字设定法

其语法格式为:chmod [who] [opt] [mode] 文件/目录名

 

其中

 

 

 

 

who表示对象是以下字母中的一个或组合

 

 

 

 

 

 

 

 

 

u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户


opt则是代表操作可以为

+:添加某个权限
-:取消某个权限
=:赋予给定的权限并取消原有的权限

 

而mode则代表权限

r:可读
w:可写
x:可执行

 

用数字设定法

eg.

chmod 664 a.txt

 

20. chown

改变文件的属主命令chown

 

语法格式很简单: chown [选项] 用户名文件/目录名

其中最常用的选项是"R"

加上这个参数,可以将整个目录里的所有子目录和文件的属主都改变成指定用户.

 

 

21. chgrp


改变文件属组命令:chgrp
该命令也很简单:chgrp 组名 文件名

 

 

用户管理

 

磁盘管理

 

22. df

df,就是Disk Free,顾名思义就是检查磁盘上还剩下多少空间等信息

 

23. type

Bash shell 癿内建命令: type

利用 type 这个指令可观察到

这个指令是来至外部指令(指的是其他非 bash 所提供的指令) 或是内建在 bash 当中的

 

 

type [-tpa] name

选项不参数: :不加任何选项不参数时,type 会显示出 name 是外部指令还是 bash 内建指令
       -t :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他的意义:
       file :表示为外部指令;
       alias :表示该指令为命令删名所讴定的名称;
       builtin :表示该指令为 bash 内建的指令功能;
      -p :如果后面接的name 为外部指令时,才会显示完整文件名;
      -a :会由 PATH 变量定义的路径中,将所有含 name 的指令都列出来,包含 alias

 

 

 

24. env , export, set

查当前的 shell 环境中,有多少环境变量

note:export不带任何参数

用 set 观察所有变量 (含环境变量不自定义变量)

 

25. export

自定义变量转成环境变量

e.g.

  $> myname=eagle

 

  $>echo $myname

  $>bash

 

  $>export myname

  $>echo $myname

 

 

 

26. locale

可以由 locale 这个指令来查询我们的 Linux到底支持了多少的语系

e.g.

1.  locale -a

2. locale

 

LANG=en_US <==主语言的环境
LC_CTYPE="en_US" <==字符(文字)辨识癿编码
LC_NUMERIC="en_US" <==数字系统的显示讯息
LC_TIME="en_US" <==时间系统的显示数据
LC_COLLATE="en_US" <==字符串的比较不排序等
LC_MONETARY="en_US" <==币值格式的显示等
LC_MESSAGES="en_US" <==讯息显示的内容,如菜单、错误讯息等
LC_ALL= <==整体语系的环境

 

 

27. read, array, declare

 

read

 

read [-pt] variable
选项与参数:
-p :后面可以接提示字符!
-t :后面可以接等待的『秒数!』这个比较有趣~不会一直等待使用者啦!

范例一:让用户由键盘输入一内容,将该内容变成名为 atest 的变量
[root@www ~]# read atest
This is a test <==此时光标会等待你输入!请输入左侧文字看看
[root@www ~]# echo $atest
This is a test <==你刚刚输入的数据已经发成一个变量内容!

范例二:提示使用者 30 秒内输入自己的大名,
将该输入字符串作为名为 named 的变量内容
[root@www ~]# read -p "Please keyin your name: " -t 30 named
Please keyin your name: VBird Tsai <==注意看,会有提示字符喔!
[root@www ~]# echo $named
VBird Tsai <==输入癿数据又发成一个变量的内容了!

 

 

declare / typeset


declare 或 typeset 是一样的功能

 

 

 

 

28.关闭进程名称中含有$STR_ID 所指代的内容的进程

 

 

 

tatus=`ps -ef | grep $STR_ID | grep -v "grep" | awk '{print $2}' | xargs -i kill -9 {}`
echo "Killing $STR_ID , status=[${status}]"

 

29. source命令用法:

source FileName
作用:在当前bash环境下读取并执行FileName中的命令。
注:该命令通常用命令“.”来替代
如:source .bash_rc 与 . .bash_rc 是等效的。

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne
Shell而来)是source的另一名称。同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化
文档,如 .bash_profile 和 .profile 等等。例如,假如在登录后对 .bash_profile 中的 EDITER 和
TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。
比如您在一个脚本里export $KKK=111 ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK
,发现没有值,假如您用source来执行 ,然后再echo
,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是
source不同他就是在本shell中执行的,所以能够看到结果

 

source命令的一个妙用


在编译核心时,常常要反复输入一长串命令,如
make mrproper
make menuconfig
make dep
make clean
make bzImage
.......
这些命令既长,又繁琐。而且有时候容易输错,浪费你的时间和精力。如果把这些命令做成一个文件,让它自动按顺序执行,对于需要多次反复编译核心的用
户来说,会很方便。用source命令可以办到这一点。它的作用就是把一个文件的内容当成是shell来执行。先在/usr/src/linux-
2.4.20目录下建立一个文件,取名为make_command:
在其中输入如下内容:
make mrproper &&
make menuconfig &&
make dep &&
make clean &&
make bzImage &&
make modules &&
make modules_install &&
cp arch/i386/boot/bzImge /boot/vmlinuz_new &&
cp System.map /boot &&
vi /etc/lilo.conf &&
lilo -v
文件建立好之后,以后每次编译核心,只需要在/usr/src/linux-2.4.20下输入
source make_command
就行了。这个文件也完全可以做成脚本,只需稍加改动即可。这里主要是让大家理解source的用法。如果你用的不是lilo来引导系统,可以把最后两句话去掉。配置你自己的引导程序来引导新内核。

shell编程中的命令有时和C语言是一样的。&&表示与,||表示或。把两个命令用&&联接起来,如
make mrproper && make menuconfig
,表示要第一个命令执行成功才能执行第二个命令。对执行顺序有要求的命令能保证一旦有错误发生,下面的命令不会盲目地继续执行。


 30. Check whether the file/fold exists


-f file 如果file存在,则为真

-s file 如果file存在且内容字节数大于0,则为真

-d directory 如果文件存在且为目录, 则为真


Example
[code="shell"]
LOCAL_PROJECT_FOLDER
if [ -d $LOCAL_PROJECT_FOLDER ]
then

  echo "fold is existing&quot"

fi
[/code]

31 .Creat folder
  mkdir aaa
  create file
  vi bbb.txt
  delete fold
  rm -rf fold_name
  -r:就是向下递归,不管多少级目录,一并删除
  -f:就是直接强行删除,不做任何提示

 

32. Linux中替换文本中的字符串
http://blog.sina.com.cn/s/blog_6419abc70100wi24.html

 

 

 

33. sed 命令

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics