Linux 命令行总结
1、使用ln不加参数,会创建硬链接,如果要创建软连接,需要加-s 参数。
- # ln test1 test8
- -rw-r--r-- root root Nov : test1
- -rw-r--r-- root root Nov : test8
2、使用-s 参数,会创建软连接。
- # ln -s test1 test9
- lrwxrwxrwx root root Nov : test9 -> test1
3、使用cp -s 同样也可以创建软连接。
- # cp -s test1 test10
- lrwxrwxrwx root root Nov : test10 -> test1
4、stat命令可以提供文件系统上某个文件的所有状态信息。
- # stat test2
- File: `test2'
- Size: Blocks: IO Block: regular empty file
- Device: 803h/2051d Inode: Links:
- Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
- Access: -- ::34.551721265 +
- Modify: -- ::34.551721265 +
- Change: -- ::39.042608528 +
5、file命令可以用来查看文件类型的工具
- # file test4
- test4: symbolic link to `test1' #符号连接,test4链接到test1
6、cat -n 查看文件的时候加行号
- # cat -n test1.sh
- #!/bin/bash
- #print hello world in the console window
- a="hello world"
- echo $a
7、cat -b 只在文本行前添加行号,空白行不添加行号
- # cat -b test1.sh
- #!/bin/bash
- #print hello world in the console window
- a="hello world"
- echo $a
8、实时检测进程 top:第一行显示了当前时间、系统的运行时间、登入的用户数以及系统的平均负载。平均负载有三个值:最近一分钟的、最近5分钟的、最近15分钟的平均负载。值越大说明系统的负载越大,如果系统的负载超过2,就说明系统比较繁忙了。
- top - :: up days, :, users, load average: 0.10, 0.04, 0.01
- Tasks: total, running, sleeping, stopped, zombie
- 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
- Mem: 66001880k total, 13323228k used, 52678652k free, 290580k buffers
- Swap: 16777212k total, 18948k used, 16758264k free, 2260564k cached
9、sort的用法,数字排序 sort -n
- # cat file1
- # sort -n file1
排反序加参数 -r,sort -nr
- # sort -nr file1
- 3
sort -t 参数来指定字段分隔符,-k参数用来指定排序的字段
- # sort -t ':' -k -n /etc/passwd
- root:x:::root:/root:/bin/bash
- daemon:x:::daemon:/usr/sbin:/usr/sbin/nologin
- bin:x:::bin:/bin:/usr/sbin/nologin
- sys:x:::sys:/dev:/usr/sbin/nologin
- sync:x:::sync:/bin:/bin/sync
- games:x:::games:/usr/games:/usr/sbin/nologin
10、使用du -sh |sort -nr 对目录的文件大小进行排序
- # du -sh * | sort -nr
- 240M work
- .0K test.txt
- .0K small.pyc
- .0K small.py
- .0K data.txt
- .0K changer.py
11、tar 打包和解压缩
- # tar -cvf test.tar file1 file2
- file1
- file2
- # ls
- file1 file2 test.tar
- # tar -xvf test.tar
- file1
- file2
12、 环境变量:环境变量分为两类,全局变量和局部变量。
查看全局变量 printenv
- MAIL=/var/spool/mail/root
- 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
- PWD=/root/wangtao/work/shell/
- KDE_IS_PRELINKED=
- LANG=en_US.UTF-
- MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
- LOADEDMODULES=
- KDEDIRS=/usr
- SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
- HISTCONTROL=ignoredups
- SHLVL=
- HOME=/root
- LOGNAME=root
- QTLIB=/usr/lib64/qt-3.3/lib
- CVS_RSH=ssh
查看单个环境变量时,必须在环境变量的名称前放置一个$符。
- # echo $HOME
- /root
13、set命令会显示为某个特定进程设置的所有环境变量,设置局部环境变量,,记住在环境变量名称,等号和值之间没有空格。
- # test=testing
- # echo $test
- testing
14、在子进程中设置了一个局部环境变量,一旦你推出了环境变量,那个局部环境变量就不能用了。
- # bash
- # test=testing
- #echo $test
- testing
- #exit
- exit
- #echo $test
- #
15、设置全局环境变量,创建全局环境变量的方法是先创建一个局部环境变量,然后在把它导出到全局环境中,注意在导出局部环境变量时,不能用美元符($)去引用变量名。
- # test="testing a long string"
- echo $test
- testing a long string
- # export test
- # bash
- # echo $test
- testing a long string
16、删除环境变量
删除一个已经存在的环境变量,可以使用unset.
- # echo $test
- testing a long string
- # unset test
- # echo $test
- #
17、PATH环境变量,冒号分隔的shell查找命令的目录列表,设置PATH环境变量
- # echo $PATH
- /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
- echo $PATH
- PATH=$PATH:/home/usr/test
18、登陆shell
当你登陆shell,bash shell 会作为登陆shell启动,登陆shell 会从4个不同的启动文件里读取命令,下面时bash shell处理这些文件的次序。/etc/profile文件时bash shell的主启动文件。
- /etc/profile
- $HOME/.bash_profile
- $HOME/.bash_login
- $HOME/.profile
19.可变数组
- # mytest=(one two three four five)
- # echo $mytest
- one
- # echo ${mytest[]}
- three
- # echo ${mytest[*]}
- one two three four five
20、使用命令别名,使用alias -p 可以查看已有的别名列表
- # alias -p
- alias cp='cp -i'
- alias l.='ls -d .* --color=auto'
- alias ll='ls -l --color=auto'
- alias ls='ls --color=auto'
- alias mc='. /usr/libexec/mc/mc-wrapper.sh'
- alias mv='mv -i'
- alias rm='rm -i'
你也可以使用alias命令创建自己的命令别名
- # alias li='ls -il'
21、添加用户,使用useradd命令使用系统的默认值以及命令行参数来设置用户账户。
- # /usr/sbin/useradd -D
- GROUP=
- HOME=/home
- INACTIVE=-
- EXPIRE=
- SHELL=/bin/bash
- SKEL=/etc/skel
- CREATE_MAIL_SPOOL=yes
可以使用useradd -D -s 来修改用户参数
- # useradd -D -s /bin/tsch
- You have mail in /var/spool/mail/root
- [root@mail ~]#
- [root@mail ~]#
- [root@mail ~]# useradd -D
- GROUP=
- HOME=/home
- INACTIVE=-
- EXPIRE=
- SHELL=/bin/tsch
- SKEL=/etc/skel
- CREATE_MAIL_SPOOL=yes
删除用户 可以使用userdel -r 选择删除用户的HOME目录和mail目录
- /usr/sbin/userdel -r test
22、使用linux组
/etc/group文件,/etc/group文件包含系统上用到的每个组的信息。(组名, 组密码, GID, 属于该组的用户列表)
- # cat /etc/group
- root:x::
- bin:x::bin,daemon
- daemon:x::bin,daemon
- sys:x::bin,adm
- adm:x::adm,daemon
- tty:x::
- disk:x::
- lp:x::daemon
- mem:x::
- kmem:x::
- wheel:x::
创建新组groupadd
- # /usr/sbin/groupadd shared
- # tailf /etc/group
- pcp:x::
- squid:x::
- sfcb:x::root
- radiusd:x::
- tcpdump:x::
- screen:x::
- slocate:x::
- zjq:x::
- www:x::
- shared:x::
可以使用usermod命令来添加用户到该组
- # /usr/sbin/usermod -G shared test
- [root@mail ~]# tail /etc/group
- pcp:x::
- squid:x::
- sfcb:x::root
- radiusd:x::
- tcpdump:x::
- screen:x::
- slocate:x::
- zjq:x::
- www:x::
- shared:x::test
使用groupmod -n 修改组名,现在已经将组名shared改为sharing.
- /usr/sbin/groupmod -n sharing shared
- [root@mail ~]# tail /etc/group
- pcp:x::
- squid:x::
- sfcb:x::root
- radiusd:x::
- tcpdump:x::
- screen:x::
- slocate:x::
- zjq:x::
- www:x::
- sharing:x::test
23、文件系统日志方式
数据模式: 索引节点和文件都会被写入日志;丢失数据风险低,但性能差
排序模式: 只有索引节点数据会被写入日志,但只有数据成功写入后才删除;性能和安全之间的良好折中
ext4: ext4文件系统支持压缩和加密,ext4文件系统还支持一个称作区段的特性。
磁盘格式化分区与挂载
- # sudo fdisk /dev/sdc
- p 显示当前分区表
- n 添加一个新分区
- p 推出,不保存更改
- w 将分区表写入磁盘
- 格式化
- mkefs 创建一个ext文件系统
- mke2fs 创建一个ext2文件系统
- mkfs.ext3 创建一个ext3文件系统
- mkfs.ext4 创建一个ext4文件系统
- #sudo mkfs.ext4 /dev/sdc1
- #sudo mkdir /mnt/testing
- #sudo mount -t ext4 /dev/sdc1 /mnt/testing
- #这种挂载文件系统的方法只会临时挂载该文件系统。当重启linux系统时,文件系统不会自动挂载,要强制linux在启动时自动挂载这个新文件系统,可以将文件系统添加到/etc/fstab文件按中。
- #最流行的文件系统时ext3和ext4,这两个文件系统都提供了日志文件系统。
- 24、内核模块
- Linux的内核模块文件的命名方式通常为<模块名称.ko>,CentOS系统的内核模块被存放在/lib/modules/`uname -r`.
lsmod 命令用来显示当前Linux内核模块状态,模块名称,占用内存大小,是否被使用。
- # lsmod
- Module Size Used by
- vboxsf
- bnep
- rfcomm
- bluetooth bnep,rfcomm
- 6lowpan_iphc bluetooth
- joydev
- snd_intel8x0
- snd_ac97_codec snd_intel8x0
- ac97_bus snd_ac97_codec
- snd_pcm snd_ac97_codec,snd_intel8x0
- snd_seq_midi
modprobe命令可以动态加载喝卸载内核模块:
- # modprobe ip_vs #动态加载ip_vs模块
- root@adonis:~# lsmod | grep ip_vs #查看模块是否加载成功
- ip_vs
- nf_conntrack ip_vs
- libcrc32c ip_vs
- root@adonis:~# modprobe -r ip_vs #动态卸载ip_vs模块
- root@adonis:~# modinfo ip_vs #查看内核模块信息
- filename: /lib/modules/3.16.--generic/kernel/net/netfilter/ipvs/ip_vs.ko
- license: GPL
- srcversion: E99FD4CE8D7CC74AC469649
- depends: nf_conntrack,libcrc32c
- intree: Y
- vermagic: 3.16.--generic SMP mod_unload modversions
- signer: Magrathea: Glacier signing key
- sig_key: 3C::A9:3E:B5:D1:A5::::B6::A5:::8D::1E:4D:C7
- sig_hashalgo: sha512
- parm: conn_tab_bits:Set connections' hash size (int)
25、wc 显示文件行数
- # wc -l /etc/passwd
- /etc/passwd
显示文件的单词个数
- # wc -w /etc/passwd
- /etc/passwd
26、限制用户的进程数为200,在/etc/security/limits.conf文件末尾中加入一行,root用户不会受影响
- * hard nproc
Linux 命令行总结的更多相关文章
- 像黑客一样使用 Linux 命令行
前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...
- 详解Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- linux 命令行 光标移动技巧
linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...
- 在linux命令行下执行php 程序
如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...
- git代理,windows命令行代理,linux命令行代理
下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...
- [转]12款最佳Linux命令行终端工具
摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...
- Linux命令行修改IP、网关、DNS、主机名 的方法
修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0 IP修改为 102.168.0.1 ifconfig eth0 102.16 ...
- Linux命令行与命令
Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...
- 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器
12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...
- Linux命令行–初识Linux shell
shell及脚本简介 GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...
随机推荐
- markdown编辑器
经过一番探索终于找到两个可以实时预览的markdown编辑器 一,sublime text 3 + MarkDown Editing + OmniMarkupPreviwer 安装方法网上均有,这里要 ...
- NOIP2001 一元三次方程求解[导数+牛顿迭代法]
题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...
- HDU3466 Proud Merchants[背包DP 条件限制]
Proud Merchants Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) ...
- 使用Memberane Moniter监控HTTP & SOAP requests
Memberane Moniter 使用方法见左侧Documentation 此工具可以监控到每一次发生在指定端口的http请求或者soap请求,如图所示. 但是个人认为仍然有几个问题: 1.不能真正 ...
- Github 使用
创建repository 可以在Github上无限制使用public repository进行源代码管理,创建一个repository很简单,不多说了. 获取代码到本地 首先要安装Git,然后使用命令 ...
- Web前端面试题目及答案汇总
HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边 ...
- 代码生成工具——Entity Framework Power Tools
Entity Framework Power Tools是VS上的一个根据数据库生成Model的Code First映射工具.在VS里面右键即可看到.什么,没有? 别慌,可以单独下载的,见 https ...
- 【Alpha】十天屠龙记
团队名字: 一不小心就火了 屠龙天团少年们: 031402504 陈逸超 (组长) 031402505 陈少铭 031402511 黄家俊 031402515 翁祖航 031402516 黄瑞钰 03 ...
- [转]在html中控制自动换行
其实只要在表格控制中添加一句 <td style="word-break:break-all">就搞定了. 其中可能对英文换行可能会分开一个单词问题:解决如下: 语法: ...
- java中Arraylist复制方法
方法一: ArrayList<Integer> mycopy=new ArrayList<Integer>(); mycopy=(ArrayList<Integer> ...