1、使用ln不加参数,会创建硬链接,如果要创建软连接,需要加-s 参数。

  1. # ln test1 test8
  2. -rw-r--r-- root root Nov : test1
  3. -rw-r--r-- root root Nov : test8

2、使用-s 参数,会创建软连接。

  1. # ln -s test1 test9
  2. lrwxrwxrwx root root Nov : test9 -> test1

3、使用cp -s 同样也可以创建软连接。

  1. # cp -s test1 test10
  2. lrwxrwxrwx root root Nov : test10 -> test1

4、stat命令可以提供文件系统上某个文件的所有状态信息。

  1. # stat test2
  2. File: `test2'
  3. Size: Blocks: IO Block: regular empty file
  4. Device: 803h/2051d Inode: Links:
  5. Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
  6. Access: -- ::34.551721265 +
  7. Modify: -- ::34.551721265 +
  8. Change: -- ::39.042608528 +

5、file命令可以用来查看文件类型的工具

  1. # file test4
  2. test4: symbolic link to `test1' #符号连接,test4链接到test1

6、cat -n 查看文件的时候加行号

  1. # cat -n test1.sh
  2. #!/bin/bash
  3. #print hello world in the console window
  4. a="hello world"
  5. echo $a

7、cat -b 只在文本行前添加行号,空白行不添加行号

  1. # cat -b test1.sh
  2. #!/bin/bash
  3.  
  4. #print hello world in the console window
  5.  
  6. a="hello world"
  7.  
  8. echo $a

8、实时检测进程 top:第一行显示了当前时间、系统的运行时间、登入的用户数以及系统的平均负载。平均负载有三个值:最近一分钟的、最近5分钟的、最近15分钟的平均负载。值越大说明系统的负载越大,如果系统的负载超过2,就说明系统比较繁忙了。

  1. top - :: up days, :, users, load average: 0.10, 0.04, 0.01
  2. Tasks: total, running, sleeping, stopped, zombie
  3. Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
  4. Mem: 66001880k total, 13323228k used, 52678652k free, 290580k buffers
  5. Swap: 16777212k total, 18948k used, 16758264k free, 2260564k cached

9、sort的用法,数字排序 sort -n

  1. # cat file1
  1. # sort -n file1

排反序加参数 -r,sort -nr

  1. # sort -nr file1
  2.  
  3. 3

sort  -t 参数来指定字段分隔符,-k参数用来指定排序的字段

  1. # sort -t ':' -k -n /etc/passwd
  2. root:x:::root:/root:/bin/bash
  3. daemon:x:::daemon:/usr/sbin:/usr/sbin/nologin
  4. bin:x:::bin:/bin:/usr/sbin/nologin
  5. sys:x:::sys:/dev:/usr/sbin/nologin
  6. sync:x:::sync:/bin:/bin/sync
  7. games:x:::games:/usr/games:/usr/sbin/nologin

10、使用du -sh |sort -nr 对目录的文件大小进行排序

  1. # du -sh * | sort -nr
  2. 240M work
  3. .0K test.txt
  4. .0K small.pyc
  5. .0K small.py
  6. .0K data.txt
  7. .0K changer.py

11、tar 打包和解压缩

  1. # tar -cvf test.tar file1 file2
  2. file1
  3. file2
  1. # ls
  2. file1 file2 test.tar
  1.  
  1. # tar -xvf test.tar
  2. file1
  3. file2

12、 环境变量:环境变量分为两类,全局变量和局部变量。

查看全局变量 printenv

  1. MAIL=/var/spool/mail/root
  2. PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/ibutils/bin:/root/bin
  3. PWD=/root/wangtao/work/shell/
  4. KDE_IS_PRELINKED=
  5. LANG=en_US.UTF-
  6. MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
  7. LOADEDMODULES=
  8. KDEDIRS=/usr
  9. SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
  10. HISTCONTROL=ignoredups
  11. SHLVL=
  12. HOME=/root
  13. LOGNAME=root
  14. QTLIB=/usr/lib64/qt-3.3/lib
  15. CVS_RSH=ssh

查看单个环境变量时,必须在环境变量的名称前放置一个$符。

  1. # echo $HOME
  2. /root

13、set命令会显示为某个特定进程设置的所有环境变量,设置局部环境变量,,记住在环境变量名称,等号和值之间没有空格。

  1. # test=testing
  2. # echo $test
  3. testing

14、在子进程中设置了一个局部环境变量,一旦你推出了环境变量,那个局部环境变量就不能用了。

  1. # bash
  2. # test=testing
  3. #echo $test
  4. testing
  5. #exit
  6. exit
  7. #echo $test
  8.  
  9. #

15、设置全局环境变量,创建全局环境变量的方法是先创建一个局部环境变量,然后在把它导出到全局环境中,注意在导出局部环境变量时,不能用美元符($)去引用变量名。

  1. # test="testing a long string"
  2. echo $test
  3. testing a long string
  4. # export test
  5. # bash
  6. # echo $test
  7. testing a long string

16、删除环境变量

删除一个已经存在的环境变量,可以使用unset.

  1. # echo $test
  2. testing a long string
  3. # unset test
  4. # echo $test
  5.  
  6. #

17、PATH环境变量,冒号分隔的shell查找命令的目录列表,设置PATH环境变量

  1. # echo $PATH
  2. /usr/sw-cluster/intel/composer_xe_2013_sp1.4.211/bin/intel64:/usr/sw-cluster/intel/composer_xe_2013_sp1.4.211/mpirt/bin/intel64:/usr/sw-cluster/intel/composer_xe_2013_sp1.4.211/debugger/gdb/intel64_mic/py26/bin
  1.  
  1. echo $PATH
  2. PATH=$PATH:/home/usr/test

18、登陆shell

当你登陆shell,bash shell 会作为登陆shell启动,登陆shell 会从4个不同的启动文件里读取命令,下面时bash shell处理这些文件的次序。/etc/profile文件时bash shell的主启动文件。

  1. /etc/profile
  2. $HOME/.bash_profile
  3. $HOME/.bash_login
  4. $HOME/.profile

19.可变数组

  1. # mytest=(one two three four five)
  2.  
  3. # echo $mytest
  4. one
  5. # echo ${mytest[]}
  6. three
  7. # echo ${mytest[*]}
  8. one two three four five

20、使用命令别名,使用alias -p 可以查看已有的别名列表

  1. # alias -p
  2. alias cp='cp -i'
  3. alias l.='ls -d .* --color=auto'
  4. alias ll='ls -l --color=auto'
  5. alias ls='ls --color=auto'
  6. alias mc='. /usr/libexec/mc/mc-wrapper.sh'
  7. alias mv='mv -i'
  8. alias rm='rm -i'

你也可以使用alias命令创建自己的命令别名

  1. # alias li='ls -il'

21、添加用户,使用useradd命令使用系统的默认值以及命令行参数来设置用户账户。

  1. # /usr/sbin/useradd -D
  2. GROUP=
  3. HOME=/home
  4. INACTIVE=-
  5. EXPIRE=
  6. SHELL=/bin/bash
  7. SKEL=/etc/skel
  8. CREATE_MAIL_SPOOL=yes

可以使用useradd -D -s 来修改用户参数

  1. # useradd -D -s /bin/tsch
  2. You have mail in /var/spool/mail/root
  3. [root@mail ~]#
  4. [root@mail ~]#
  5. [root@mail ~]# useradd -D
  6. GROUP=
  7. HOME=/home
  8. INACTIVE=-
  9. EXPIRE=
  10. SHELL=/bin/tsch
  11. SKEL=/etc/skel
  12. CREATE_MAIL_SPOOL=yes

删除用户 可以使用userdel -r 选择删除用户的HOME目录和mail目录

  1. /usr/sbin/userdel -r test

22、使用linux组

/etc/group文件,/etc/group文件包含系统上用到的每个组的信息。(组名, 组密码, GID, 属于该组的用户列表)

  1. # cat /etc/group
  2. root:x::
  3. bin:x::bin,daemon
  4. daemon:x::bin,daemon
  5. sys:x::bin,adm
  6. adm:x::adm,daemon
  7. tty:x::
  8. disk:x::
  9. lp:x::daemon
  10. mem:x::
  11. kmem:x::
  12. wheel:x::

创建新组groupadd

  1. # /usr/sbin/groupadd shared
  2. # tailf /etc/group
  3. pcp:x::
  4. squid:x::
  5. sfcb:x::root
  6. radiusd:x::
  7. tcpdump:x::
  8. screen:x::
  9. slocate:x::
  10. zjq:x::
  11. www:x::
  12. shared:x::

可以使用usermod命令来添加用户到该组

  1. # /usr/sbin/usermod -G shared test
  2. [root@mail ~]# tail /etc/group
  3. pcp:x::
  4. squid:x::
  5. sfcb:x::root
  6. radiusd:x::
  7. tcpdump:x::
  8. screen:x::
  9. slocate:x::
  10. zjq:x::
  11. www:x::
  12. shared:x::test

使用groupmod -n 修改组名,现在已经将组名shared改为sharing.

  1. /usr/sbin/groupmod -n sharing shared
  2. [root@mail ~]# tail /etc/group
  3. pcp:x::
  4. squid:x::
  5. sfcb:x::root
  6. radiusd:x::
  7. tcpdump:x::
  8. screen:x::
  9. slocate:x::
  10. zjq:x::
  11. www:x::
  12. sharing:x::test

23、文件系统日志方式

数据模式: 索引节点和文件都会被写入日志;丢失数据风险低,但性能差

排序模式: 只有索引节点数据会被写入日志,但只有数据成功写入后才删除;性能和安全之间的良好折中

ext4:  ext4文件系统支持压缩和加密,ext4文件系统还支持一个称作区段的特性。

磁盘格式化分区与挂载

  1. # sudo fdisk /dev/sdc
  2. p 显示当前分区表
  3. n 添加一个新分区
  4. p 推出,不保存更改
  5. w 将分区表写入磁盘
  6.  
  7. 格式化
  8. mkefs 创建一个ext文件系统
  9. mke2fs 创建一个ext2文件系统
  10. mkfs.ext3 创建一个ext3文件系统
  11. mkfs.ext4 创建一个ext4文件系统
  12.  
  13. #sudo mkfs.ext4 /dev/sdc1
  14. #sudo mkdir /mnt/testing
  15. #sudo mount -t ext4 /dev/sdc1 /mnt/testing
  16.  
  17. #这种挂载文件系统的方法只会临时挂载该文件系统。当重启linux系统时,文件系统不会自动挂载,要强制linux在启动时自动挂载这个新文件系统,可以将文件系统添加到/etc/fstab文件按中。
  18.  
  19. #最流行的文件系统时ext3和ext4,这两个文件系统都提供了日志文件系统。
  20.  
  21. 24、内核模块
  22.  
  23. Linux的内核模块文件的命名方式通常为<模块名称.ko>,CentOS系统的内核模块被存放在/lib/modules/`uname -r`.
    lsmod 命令用来显示当前Linux内核模块状态,模块名称,占用内存大小,是否被使用。
  1. # lsmod
  2. Module Size Used by
  3. vboxsf
  4. bnep
  5. rfcomm
  6. bluetooth bnep,rfcomm
  7. 6lowpan_iphc bluetooth
  8. joydev
  9. snd_intel8x0
  10. snd_ac97_codec snd_intel8x0
  11. ac97_bus snd_ac97_codec
  12. snd_pcm snd_ac97_codec,snd_intel8x0
  13. snd_seq_midi

modprobe命令可以动态加载喝卸载内核模块:

  1. # modprobe ip_vs #动态加载ip_vs模块
  2. root@adonis:~# lsmod | grep ip_vs #查看模块是否加载成功
  3. ip_vs
  4. nf_conntrack ip_vs
  5. libcrc32c ip_vs
  6. root@adonis:~# modprobe -r ip_vs #动态卸载ip_vs模块
  7. root@adonis:~# modinfo ip_vs #查看内核模块信息
  8. filename: /lib/modules/3.16.--generic/kernel/net/netfilter/ipvs/ip_vs.ko
  9. license: GPL
  10. srcversion: E99FD4CE8D7CC74AC469649
  11. depends: nf_conntrack,libcrc32c
  12. intree: Y
  13. vermagic: 3.16.--generic SMP mod_unload modversions
  14. signer: Magrathea: Glacier signing key
  15. sig_key: 3C::A9:3E:B5:D1:A5::::B6::A5:::8D::1E:4D:C7
  16. sig_hashalgo: sha512
  17. parm: conn_tab_bits:Set connections' hash size (int)

25、wc 显示文件行数

  1. # wc -l /etc/passwd
  2. /etc/passwd

显示文件的单词个数

  1. # wc -w /etc/passwd
  2. /etc/passwd

26、限制用户的进程数为200,在/etc/security/limits.conf文件末尾中加入一行,root用户不会受影响

  1. * hard nproc

Linux 命令行总结的更多相关文章

  1. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  2. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  3. linux 命令行 光标移动技巧

    linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...

  4. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  5. git代理,windows命令行代理,linux命令行代理

    下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...

  6. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  7. Linux命令行修改IP、网关、DNS、主机名 的方法

    修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0    IP修改为 102.168.0.1 ifconfig eth0 102.16 ...

  8. Linux命令行与命令

    Linux命令行与命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...

  9. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  10. Linux命令行–初识Linux shell

    shell及脚本简介  GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...

随机推荐

  1. markdown编辑器

    经过一番探索终于找到两个可以实时预览的markdown编辑器 一,sublime text 3 + MarkDown Editing + OmniMarkupPreviwer 安装方法网上均有,这里要 ...

  2. NOIP2001 一元三次方程求解[导数+牛顿迭代法]

    题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...

  3. HDU3466 Proud Merchants[背包DP 条件限制]

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

  4. 使用Memberane Moniter监控HTTP & SOAP requests

    Memberane Moniter 使用方法见左侧Documentation 此工具可以监控到每一次发生在指定端口的http请求或者soap请求,如图所示. 但是个人认为仍然有几个问题: 1.不能真正 ...

  5. Github 使用

    创建repository 可以在Github上无限制使用public repository进行源代码管理,创建一个repository很简单,不多说了. 获取代码到本地 首先要安装Git,然后使用命令 ...

  6. Web前端面试题目及答案汇总

    HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边 ...

  7. 代码生成工具——Entity Framework Power Tools

    Entity Framework Power Tools是VS上的一个根据数据库生成Model的Code First映射工具.在VS里面右键即可看到.什么,没有? 别慌,可以单独下载的,见 https ...

  8. 【Alpha】十天屠龙记

    团队名字: 一不小心就火了 屠龙天团少年们: 031402504 陈逸超 (组长) 031402505 陈少铭 031402511 黄家俊 031402515 翁祖航 031402516 黄瑞钰 03 ...

  9. [转]在html中控制自动换行

    其实只要在表格控制中添加一句 <td style="word-break:break-all">就搞定了. 其中可能对英文换行可能会分开一个单词问题:解决如下: 语法: ...

  10. java中Arraylist复制方法

    方法一: ArrayList<Integer> mycopy=new ArrayList<Integer>(); mycopy=(ArrayList<Integer> ...