澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

常用命令集合,Linux常用命令大全

2019-06-22 作者:澳门新萄京官方网站   |   浏览(82)

Ctrl Alt (F1-F6):切换虚拟终端

1.常用命令解析

当涉及的范围越来越广时,所接触到的技术也就会越来越多!贴上常用的Linux命令集:

 

 

  1. 系统信息  
  2. arch 显示机器的处理器架构(1)  
  3. uname -m 显示机器的处理器架构(2)  
  4. uname -r 显示正在使用的内核版本  
  5. dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)  
  6. hdparm -i /dev/hda 罗列一个磁盘的架构特性  
  7. hdparm -tT /dev/sda 在磁盘上执行测试性读取操作  
  8. cat /proc/cpuinfo 显示CPU info的信息  
  9. cat /proc/interrupts 显示中断  
  10. cat /proc/meminfo 校验内存使用  
  11. cat /proc/swaps 显示哪些swap被使用  
  12. cat /proc/version 显示内核的版本  
  13. cat /proc/net/dev 显示网络适配器及统计  
  14. cat /proc/mounts 显示已加载的文件系统  
  15. lspci -tv 罗列 PCI 设备  
  16. lsusb -tv 显示 USB 设备  
  17. date 显示系统日期  
  18. cal 2007 显示2007年的日历表  
  19. date 041217002007.00 设置日期和时间 - 月日时分年.秒  
  20. clock -w 将时间修改保存到 BIOS  
  21.   
  22. 关机 (系统的关机、重启以及登出 )  
  23. shutdown -h now 关闭系统(1)  
  24. init 0 关闭系统(2)  
  25. telinit 0 关闭系统(3)  
  26. shutdown -h hours:minutes & 按预定时间关闭系统  
  27. shutdown -c 取消按预定时间关闭系统  
  28. shutdown -r now 重启(1)  
  29. reboot 重启(2)  
  30. logout 注销  
  31.   
  32. 文件和目录  
  33. cd /home 进入 '/ home' 目录'  
  34. cd .. 返回上一级目录  
  35. cd ../.. 返回上两级目录  
  36. cd 进入个人的主目录  
  37. cd ~user1 进入个人的主目录  
  38. cd - 返回上次所在的目录  
  39. pwd 显示工作路径  
  40. ls 查看目录中的文件  
  41. ls -F 查看目录中的文件  
  42. ls -l 显示文件和目录的详细资料  
  43. ls -a 显示隐藏文件  
  44. ls *[0-9]* 显示包含数字的文件名和目录名  
  45. tree 显示文件和目录由根目录开始的树形结构(1)  
  46. lstree 显示文件和目录由根目录开始的树形结构(2)  
  47. mkdir dir1 创建一个叫做 'dir1' 的目录'  
  48. mkdir dir1 dir2 同时创建两个目录  
  49. mkdir -p /tmp/dir1/dir2 创建一个目录树  
  50. rm -f file1 删除一个叫做 'file1' 的文件'  
  51. rmdir dir1 删除一个叫做 'dir1' 的目录'  
  52. rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容  
  53. rm -rf dir1 dir2 同时删除两个目录及它们的内容  
  54. mv dir1 new_dir 重命名/移动 一个目录  
  55. cp file1 file2 复制一个文件  
  56. cp dir/* . 复制一个目录下的所有文件到当前工作目录  
  57. cp -a /tmp/dir1 . 复制一个目录到当前工作目录  
  58. cp -a dir1 dir2 复制一个目录  
  59. ln -s file1 lnk1 创建一个指向文件或目录的软链接  
  60. ln file1 lnk1 创建一个指向文件或目录的物理链接  
  61. touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)  
  62. file file1 outputs the mime type of the file as text  
  63. iconv -l 列出已知的编码  
  64. iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.  
  65. find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)  
  66.   
  67. 文件搜索  
  68. find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录  
  69. find / -user user1 搜索属于用户 'user1' 的文件和目录  
  70. find /home/user1 -name *.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件  
  71. find /usr/bin -type f -atime  100 搜索在过去100天内未被使用过的执行文件  
  72. find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件  
  73. find / -name *.rpm -exec chmod 755 '{}' ; 搜索以 '.rpm' 结尾的文件并定义其权限  
  74. find / -xdev -name *.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备  
  75. locate *.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令  
  76. whereis halt 显示一个二进制文件、源码或man的位置  
  77. which halt 显示一个二进制文件或可执行文件的完整路径  
  78.   
  79. 挂载一个文件系统  
  80. mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在  
  81. umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出  
  82. fuser -km /mnt/hda2 当设备繁忙时强制卸载  
  83. umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用  
  84. mount /dev/fd0 /mnt/floppy 挂载一个软盘  
  85. mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom  
  86. mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom  
  87. mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom  
  88. mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件  
  89. mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统  
  90. mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备  
  91. mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享  
  92.   
  93. 磁盘空间  
  94. df -h 显示已经挂载的分区列表  
  95. ls -lSr |more 以尺寸大小排列文件和目录  
  96. du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'  
  97. du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小  
  98. rpm -q -a --qf '{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)  
  99. dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)  
  100.   
  101. 用户和群组  
  102. groupadd group_name 创建一个新用户组  
  103. groupdel group_name 删除一个用户组  
  104. groupmod -n new_group_name old_group_name 重命名一个用户组  
  105. useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户  
  106. useradd user1 创建一个新用户  
  107. userdel -r user1 删除一个用户 ( '-r' 排除主目录)  
  108. usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性  
  109. passwd 修改口令  
  110. passwd user1 修改一个用户的口令 (只允许root执行)  
  111. chage -E 2005-12-31 user1 设置用户口令的失效期限  
  112. pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户  
  113. grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组  
  114. newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组  
  115.   
  116. 文件的权限 - 使用 " " 设置权限,使用 "-" 用于取消  
  117. ls -lh 显示权限  
  118. ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示  
  119. chmod ugo rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限  
  120. chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限  
  121. chown user1 file1 改变一个文件的所有人属性  
  122. chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性  
  123. chgrp group1 file1 改变文件的群组  
  124. chown user1:group1 file1 改变一个文件的所有人和群组属性  
  125. find / -perm -u s 罗列一个系统中所有使用了SUID控制的文件  
  126. chmod u s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限  
  127. chmod u-s /bin/file1 禁用一个二进制文件的 SUID位  
  128. chmod g s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的  
  129. chmod g-s /home/public 禁用一个目录的 SGID 位  
  130. chmod o t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件  
  131. chmod o-t /home/public 禁用一个目录的 STIKY 位  
  132.   
  133. 文件的特殊属性 - 使用 " " 设置权限,使用 "-" 用于取消  
  134. chattr  a file1 只允许以追加方式读写文件  
  135. chattr  c file1 允许这个文件能被内核自动压缩/解压  
  136. chattr  d file1 在进行文件系统备份时,dump程序将忽略这个文件  
  137. chattr  i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接  
  138. chattr  s file1 允许一个文件被安全地删除  
  139. chattr  S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘  
  140. chattr  u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件  
  141. lsattr 显示特殊的属性  
  142.   
  143. 打包和压缩文件  
  144. bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件  
  145. bzip2 file1 压缩一个叫做 'file1' 的文件  
  146. gunzip file1.gz 解压一个叫做 'file1.gz'的文件  
  147. gzip file1 压缩一个叫做 'file1'的文件  
  148. gzip -9 file1 最大程度压缩  
  149. rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包  
  150. rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'  
  151. rar x file1.rar 解压rar包  
  152. unrar x file1.rar 解压rar包  
  153. tar -cvf archive.tar file1 创建一个非压缩的 tarball  
  154. tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件  
  155. tar -tf archive.tar 显示一个包中的内容  
  156. tar -xvf archive.tar 释放一个包  
  157. tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下  
  158. tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包  
  159. tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包  
  160. tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包  
  161. tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包  
  162. zip file1.zip file1 创建一个zip格式的压缩包  
  163. zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包  
  164. unzip file1.zip 解压一个zip格式压缩包  
  165.   
  166. RPM 包 - (Fedora, Redhat及类似系统)  
  167. rpm -ivh package.rpm 安装一个rpm包  
  168. rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告  
  169. rpm -U package.rpm 更新一个rpm包但不改变其配置文件  
  170. rpm -F package.rpm 更新一个确定已经安装的rpm包  
  171. rpm -e package_name.rpm 删除一个rpm包  
  172. rpm -qa 显示系统中所有已经安装的rpm包  
  173. rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包  
  174. rpm -qi package_name 获取一个已安装包的特殊信息  
  175. rpm -qg "System Environment/Daemons" 显示一个组件的rpm包  
  176. rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表  
  177. rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表  
  178. rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表  
  179. rpm -q package_name --whatprovides 显示一个rpm包所占的体积  
  180. rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l  
  181. rpm -q package_name --changelog 显示一个rpm包的修改历史  
  182. rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供  
  183. rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表  
  184. rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书  
  185. rpm --checksig package.rpm 确认一个rpm包的完整性  
  186. rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性  
  187. rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间  
  188. rpm -Va 检查系统中所有已安装的rpm包- 小心使用  
  189. rpm -Vp package.rpm 确认一个rpm包还未安装  
  190. rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件  
  191. rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包  
  192. rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包  
  193.   
  194. YUM 软件包升级器 - (Fedora, RedHat及类似系统)  
  195. yum install package_name 下载并安装一个rpm包  
  196. yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系  
  197. yum update package_name.rpm 更新当前系统中所有安装的rpm包  
  198. yum update package_name 更新一个rpm包  
  199. yum remove package_name 删除一个rpm包  
  200. yum list 列出当前系统中安装的所有包  
  201. yum search package_name 在rpm仓库中搜寻软件包  
  202. yum clean packages 清理rpm缓存删除下载的包  
  203. yum clean headers 删除所有头文件  
  204. yum clean all 删除所有缓存的包和头文件  
  205.   
  206. DEB 包 (Debian, Ubuntu 以及类似系统)  
  207. dpkg -i package.deb 安装/更新一个 deb 包  
  208. dpkg -r package_name 从系统删除一个 deb 包  
  209. dpkg -l 显示系统中所有已经安装的 deb 包  
  210. dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包  
  211. dpkg -s package_name 获得已经安装在系统中一个特殊包的信息  
  212. dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表  
  213. dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表  
  214. dpkg -S /bin/ping 确认所给的文件由哪个deb包提供  
  215.   
  216. APT 软件工具 (Debian, Ubuntu 以及类似系统)  
  217. apt-get install package_name 安装/更新一个 deb 包  
  218. apt-cdrom install package_name 从光盘安装/更新一个 deb 包  
  219. apt-get update 升级列表中的软件包  
  220. apt-get upgrade 升级所有已安装的软件  
  221. apt-get remove package_name 从系统删除一个deb包  
  222. apt-get check 确认依赖的软件仓库正确  
  223. apt-get clean 从下载的软件包中清理缓存  
  224. apt-cache search searched-package 返回包含所要搜索字符串的软件包名称  
  225.   
  226. 查看文件内容  
  227. cat file1 从第一个字节开始正向查看文件的内容  
  228. tac file1 从最后一行开始反向查看一个文件的内容  
  229. more file1 查看一个长文件的内容  
  230. less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作  
  231. head -2 file1 查看一个文件的前两行  
  232. tail -2 file1 查看一个文件的最后两行  
  233. tail -f /var/log/messages 实时查看被添加到一个文件中的内容  
  234.   
  235. 文本处理  
  236. cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT  
  237. cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中  
  238. cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中  
  239. grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"  
  240. grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇  
  241. grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行  
  242. grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"  
  243. sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"  
  244. sed '/^$/d' example.txt 从example.txt文件中删除所有空白行  
  245. sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行  
  246. echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容  
  247. sed -e '1d' result.txt 从文件example.txt 中排除第一行  
  248. sed -n '/stringa1/p' 查看只包含词汇 "string1"的行  
  249. sed -e 's/ *$//' example.txt 删除每一行最后的空白字符  
  250. sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部  
  251. sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容  
  252. sed -n '5p;5q' example.txt 查看第5行  
  253. sed -e 's/00*/0/g' example.txt 用单个零替换多个零  
  254. cat -n file1 标示文件的行数  
  255. cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行  
  256. echo a b c | awk '{print $1}' 查看一行第一栏  
  257. echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏  
  258. paste file1 file2 合并两个文件或两栏的内容  
  259. paste -d ' ' file1 file2 合并两个文件或两栏的内容,中间用" "区分  
  260. sort file1 file2 排序两个文件的内容  
  261. sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)  
  262. sort file1 file2 | uniq -u 删除交集,留下其他的行  
  263. sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)  
  264. comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容  
  265. comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容  
  266. comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分  
  267.   
  268. 字符设置和文件格式转换  
  269. dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX  
  270. unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS  
  271. recode ..HTML < page.txt > page.html 将一个文本文件转换成html  
  272. recode -l | more 显示所有允许的转换格式  
  273.   
  274. 文件系统分析  
  275. badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块  
  276. fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性  
  277. fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性  
  278. e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性  
  279. e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性  
  280. fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性  
  281. fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性  
  282. fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性  
  283. dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性  
  284.   
  285. 初始化一个文件系统  
  286. mkfs /dev/hda1 在hda1分区创建一个文件系统  
  287. mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统  
  288. mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统  
  289. mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统  
  290. fdformat -n /dev/fd0 格式化一个软盘  
  291. mkswap /dev/hda3 创建一个swap文件系统  
  292.   
  293. SWAP文件系统  
  294. mkswap /dev/hda3 创建一个swap文件系统  
  295. swapon /dev/hda3 启用一个新的swap文件系统  
  296. swapon /dev/hda2 /dev/hdb3 启用两个swap分区  
  297.   
  298. 备份  
  299. dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份  
  300. dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份  
  301. restore -if /tmp/home0.bak 还原一个交互式备份  
  302. rsync -rogpav --delete /home /tmp 同步两边的目录  
  303. rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync  
  304. rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录  
  305. rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录  
  306. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作  
  307. dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件  
  308. tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作  
  309. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容  
  310. ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录  
  311. tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接  
  312. find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录  
  313. find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包  
  314. dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作  
  315. dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容  
  316.   
  317. 光盘  
  318. cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容  
  319. mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件  
  320. mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件  
  321. mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件  
  322. cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件  
  323. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件  
  324. mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件  
  325. cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中  
  326. cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)  
  327. cdrecord --scanbus 扫描总线以识别scsi通道  
  328. dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD  
  329.   
  330. 网络 - (以太网和WIFI无线)  
  331. ifconfig eth0 显示一个以太网卡的配置  
  332. ifup eth0 启用一个 'eth0' 网络设备  
  333. ifdown eth0 禁用一个 'eth0' 网络设备  
  334. ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址  
  335. ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)  
  336. dhclient eth0 以dhcp模式启用 'eth0'  
  337. route -n show routing table  
  338. route add -net 0/0 gw IP_Gateway configura default gateway  
  339. route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'  
  340. route del 0/0 gw IP_gateway remove static route  
  341. echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing  
  342. hostname show hostname of system  
  343. host www.example.com lookup hostname to resolve name to ip address and viceversa(1)  
  344. nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)  
  345. ip link show show link status of all interfaces  
  346. mii-tool eth0 show link status of 'eth0'  
  347. ethtool eth0 show statistics of network card 'eth0'  
  348. netstat -tup show all active network connections and their PID  
  349. netstat -tupl show all network services listening on the system and their PID  
  350. tcpdump tcp port 80 show all HTTP traffic  
  351. iwlist scan show wireless networks  
  352. iwconfig eth1 show configuration of a wireless network card  
  353. hostname show hostname  
  354. host www.example.com lookup hostname to resolve name to ip address and viceversa  
  355. nslookup www.example.com lookup hostname to resolve name to ip address and viceversa  
  356. whois www.example.com lookup on Whois database  
  357.   
  358. Microsoft Windows networks (SAMBA)  
  359. nbtscan ip_addr netbios name resolution  
  360. nmblookup -A ip_addr netbios name resolution  
  361. smbclient -L ip_addr/hostname show remote shares of a windows host  
  362. smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb  
  363. mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share  

常用指令

 

Linux常用命令大全(非常全!!!)原文链接:http://www.cnblogs.com/yjd_hycf_space/p/7730690.html

Ctrl Alt:鼠标切换界面

2.常用命令二

  1. su   
  2. su命令是最基本的命令之一,常用于不同用户间切换。例如,如果登录为 user1,要切换为user2,只要用如下命令:   
  3. $su user2   
  4. 然后系统提示输入user2口令,输入正确的口令之后就可以切换到user2。完成之后就可以用exit命令返回到user1。   
  5. su命令的常见用法是变成根用户或超级用户。如果发出不带用户名的su命令 ,则系统提示输入根口令,输入之后则可切换为根用户。   
  6. 如果登录为根用户,则可以用su命令成为系统上任何用户而不需要口令。  
  7.   
  8. pwd   
  9. pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。  
  10.   
  11. cd   
  12. cd命令不仅显示当前状态,还改变当前状态,它的用发跟dos下的cd命令基本一致。   
  13. cd ..可进入上一层目录   
  14. cd -可进入上一个进入的目录   
  15. cd ~可进入用户的home目录  
  16.   
  17. ls   
  18. ls命令跟dos下的dir命令一样,用于显示当前目录的内容。   
  19. 如果想取得详细的信息,可用ls -l命令, 这样就可以显示目录内容的详细信息。   
  20. 如果目录下的文件太多,用一屏显示不了,可以用ls -l |more分屏显示 。  
  21.   
  22. find   
  23. find命令用于查找文件。这个命令可以按文件名、建立或修改日期、所有者(通常是建立文件的用户)、文件长度或文件类型进行搜索。   
  24. find命令的基本结构如下:   
  25. $find   
  26. 其中指定从哪个目录开始搜索。指定搜索条件。表示找到文件怎么处理。一般来说,要用-print动作,显示 整个文件路径和名称。如果没有这个动作,则find命令进行所要搜索而不显示结果,等于白费劲。   
  27. 例如,要搜索系统上所有名称为ye的文件,可用如下命令:   
  28. $find / -name ye -print   
  29. 这样就可以显示出系统上所有名称为ye的文件。  
  30.   
  31. tar   
  32. tar最初用于建立磁带备份系统,目前广泛用于建立文件发布档案。可用如下方法建立tar档案:   
  33. $tar cvf   
  34. 例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令:   
  35. $tar cvf ye.tar *.*   
  36. 要浏览档案内容,将c选项变成t。如果要浏览ye.tar档案中的内容,可用如下命令:   
  37. $tar tvf ye.tar   
  38. 要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令:   
  39. $tar xvf ye.tar  
  40.   
  41. gzip   
  42. gzip命令用于压缩文件。 例如,如果要将ye.txt文件压缩,可用如下命令:   
  43. $gzip ye.txt   
  44. 这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。   
  45. 解压缩文件可用gzip -d命令实现:   
  46. $gzip -d ye.txt.gz   
  47. 这样就可以解压缩文件并删除gz扩展名。除此之外还可以用gunzip命令来解 压缩文件,效果跟用gzip -d命令一样。   
  48. 旧版的tar命令不压缩档案,可用gzip压缩。例如:   
  49. $tar cvf ye.tar *.txt   
  50. $gzip ye.tar   
  51. 则可建立压缩档案ye.tar.gz。   
  52. 新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了。例如:   
  53. $tar czvf ye.tar *.txt   
  54. 生成压缩档案ye.tar.gz,   
  55. $tar tzvf ye.tar *.txt   
  56. 显示压缩档案ye.tar.gz的内容,而   
  57. $tar xzvf ye.tar *.txt   
  58. 取出压缩档案ye.tar.gz的内容。  
  59.   
  60. mkdir   
  61. 这个命令很简单,跟dos的md命令用法几乎一样,用于建立目录。  
  62.   
  63. cp   
  64. cp命令用于复制文件或目录。   
  65. cp命令可以一次复制多个文件,例如:   
  66. $cp *.txt *.doc *.bak /home   
  67. 将当前目录中扩展名为txt、doc和bak的文件全部复制到/home目录中。   
  68. 如果要复制整个目录及其所有子目录,可以用cp -R命令。  
  69.   
  70. rm   
  71. rm命令用于删除文件或目录。   
  72. rm命令会强制删除文件,如果想要在删除时提示确认,可用rm -i命令。   
  73. 如果要删除目录,可用rm -r命令。rm -r命令在删除目录时,每删除一个文件或目录都会显示提示,如果目录太大,响应每个提示是不现实的。这时可以用 rm -rf命令来强制删除目录,这样即使用了-i标志也当无效处理。  
  74.   
  75. mv   
  76. mv命令用于移动文件和更名文件。例如:   
  77. $mv ye.txt /home   
  78. 将当前目录下的ye.txt文件移动到/home目录下,   
  79. $mv ye.txt ye1.txt   
  80. 将ye.txt文件改名为ye1.txt。   
  81. 类似于跟cp命令,mv命令也可以一次移动多个文件,在此不再赘叙。  
  82.   
  83. reboot    支持 叉车出租
  84.   
  85.    
  86.   
  87. ◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;   
  88.   
  89. ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;   
  90.   
  91. ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;   
  92.   
  93. ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;   
  94.   
  95. ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;   
  96.   
  97. ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。   
  98.   
  99. 本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。   
  100.   
  101. login   
  102.   
  103. 1.作用   
  104.   
  105. login的作用是登录系统,它的使用权限是所有用户。   
  106.   
  107. 2.格式   
  108.   
  109. login [name][-p ][-h 主机名称]  
  110.   
  111. 3.主要参数   
  112.   
  113. -p:通知login保持现在的环境参数。   
  114.   
  115. -h:用来向远程登录的之间传输用户名。   
  116.   
  117. 如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。   
  118.   
  119. 一般界面是这样的:   
  120.   
  121. Manddrake Linux release 9.1(Bamboo) for i586   
  122. renrel 2.4.21-0.13mdk on i686 / tty1  
  123. localhost login:root  
  124. password:  
  125.   
  126. 上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter”键在Password后输入账户密码,即可登录系统。出于安全考虑,输入账户密码时字符不会在屏幕上回显,光标也不移动。   
  127.   
  128. 登录后会看到下面这个界面(以超级用户为例):   
  129.   
  130. [root@localhost root]#  
  131. last login:Tue ,Nov 18 10:00:55 on vc/1  
  132.   
  133. 上面显示的是登录星期、月、日、时间和使用的虚拟控制台。   
  134.   
  135. 4.应用技巧   
  136.   
  137. Linux是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。   
  138.   
  139. 例如,用户登录后,按一下“Alt F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt F1”键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统允许用户使用“Alt F1”到“Alt F6”键来访问前六个虚拟控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。   
  140.   
  141. shutdown   
  142.   
  143. 1.作用   
  144.   
  145. shutdown命令的作用是关闭计算机,它的使用权限是超级用户。   
  146.   
  147. 2.格式   
  148.   
  149. shutdown [-h][-i][-k][-m][-t]  
  150.   
  151. 3.重要参数   
  152.   
  153. -t:在改变到其它运行级别之前,告诉init程序多久以后关机。   
  154.   
  155. -k:并不真正关机,只是送警告信号给每位登录者。   
  156.   
  157. -h:关机后关闭电源。   
  158.   
  159. -c:cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。   
  160.   
  161. -F:在重启计算机时强迫fsck。   
  162.   
  163. -time:设定关机前的时间。   
  164.   
  165. -m: 将系统改为单用户模式。   
  166.   
  167. -i:关机时显示系统信息。   
  168.   
  169. 4.命令说明   
  170.   
  171. shutdown命令可以安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。   
  172.   
  173. halt   
  174.   
  175. 1.作用   
  176.   
  177. halt命令的作用是关闭系统,它的使用权限是超级用户。   
  178.   
  179. 2.格式   
  180.   
  181. halt [-n] [-w] [-d] [-f] [-i] [-p]  
  182.   
  183. 3.主要参数说明   
  184.   
  185. -n:防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。   
  186.   
  187. -w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。   
  188.   
  189. -f:没有调用shutdown,而强制关机或重启。   
  190.   
  191. -i:关机(或重启)前,关掉所有的网络接口。   
  192.   
  193. -f:强迫关机,不呼叫shutdown这个指令。   
  194.   
  195. -p: 当关机的时候顺便做关闭电源的动作。   
  196.   
  197. -d:关闭系统,但不留下纪录。    
  198.   
  199. 4.命令说明   
  200.   
  201. halt就是调用shutdown -h。halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。    
  202.   
  203. reboot   
  204.   
  205. 1.作用   
  206.   
  207. reboot命令的作用是重新启动计算机,它的使用权限是系统管理者。   
  208.   
  209. 2.格式   
  210.   
  211. reboot [-n] [-w] [-d] [-f] [-i]  
  212.   
  213. 3.主要参数   
  214.   
  215. -n: 在重开机前不做将记忆体资料写回硬盘的动作。   
  216.   
  217. -w: 并不会真的重开机,只是把记录写到/var/log/wtmp文件里。   
  218.   
  219. -d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。   
  220.   
  221. -i: 在重开机之前先把所有与网络相关的装置停止。   
  222.   
  223. install   
  224.   
  225. 1.作用   
  226.   
  227. install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。   
  228.   
  229. 2.格式   
  230.   
  231. (1)install [选项]... 来源 目的地   
  232.   
  233. (2)install [选项]... 来源... 目录   
  234.   
  235. (3)install -d [选项]... 目录...   
  236.   
  237. 在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。   
  238.   
  239. 3.主要参数   
  240.   
  241. --backup[=CONTROL]:为每个已存在的目的地文件进行备份。   
  242.   
  243. -b:类似 --backup,但不接受任何参数。   
  244.   
  245. -c:(此选项不作处理)。   
  246.   
  247. -d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。   
  248.   
  249. -D:创建<目的地>前的所有主目录,然后将<来源>复制至 <目的地>;在第一种使用格式中有用。   
  250.   
  251. -g,--group=组:自行设定所属组,而不是进程目前的所属组。   
  252.   
  253. -m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。   
  254.   
  255. -o,--owner=所有者:自行设定所有者 (只适用于超级用户)。   
  256.   
  257. -p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。   
  258.   
  259. -s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。   
  260.   
  261. -S,--suffix=后缀:自行指定备份文件的<后缀>。   
  262.   
  263. -v,--verbose:处理每个文件/目录时印出名称。   
  264.   
  265. --help:显示此帮助信息并离开。   
  266.   
  267. --version:显示版本信息并离开。   
  268.   
  269. mount   
  270.   
  271. 1.作用   
  272.   
  273. mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者。   
  274.   
  275. 2.格式   
  276.   
  277. mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir  
  278.   
  279. 3.主要参数   
  280.   
  281. -h:显示辅助信息。   
  282.   
  283. -v:显示信息,通常和-f用来除错。   
  284.   
  285. -a:将/etc/fstab中定义的所有文件系统挂上。   
  286.   
  287. -F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。   
  288.   
  289. -f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。   
  290.   
  291. -t vfstype:显示被加载文件系统的类型。   
  292.   
  293. -n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。   
  294.   
  295. 4.应用技巧   
  296.   
  297. 在Linux和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux中,如果要使用硬盘、光驱等储存设备 ,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。 在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。   
  298.   
  299. (1)Linux可以识别的文件系统   
  300.   
  301. ◆ Windows 95/98常用的FAT 32文件系统:vfat ;   
  302.   
  303. ◆ Win NT/2000 的文件系统:ntfs ;   
  304.   
  305. ◆ OS/2用的文件系统:hpfs;   
  306.   
  307. ◆ Linux用的文件系统:ext2、ext3;   
  308.   
  309. ◆ CD-ROM光盘用的文件系统:iso9660。   
  310.   
  311. 虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。   
  312.   
  313. (2)确定设备的名称   
  314.   
  315. 在Linux中,设备名称通常都存在/dev里。这些设备名称的命名都是有规则的,可以用“推理”的方式把设备名称找出来。例如,/dev/hda1这个IDE设备,hd是Hard Disk(硬盘)的,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a代表第一个设备,通常IDE接口可以接上4个IDE设备(比如4块硬盘)。所以要识别IDE硬盘的方法分别就是hda、hdb、hdc、hdd。hda1中的“1”代表hda的第一个硬盘分区 (partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。 此外,可以直接检查/var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的设备代号。   
  316.   
  317. (3)查找挂接点   
  318.   
  319. 在决定将设备挂接之前,先要查看一下计算机是不是有个/mnt的空目录,该目录就是专门用来当作挂载点(Mount Point)的目录。建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。举例而言,如要挂载下列5个设备,其执行指令可能如下 (假设都是Linux的ext2系统,如果是Windows XX请将ext2改成vfat):   
  320.   
  321. 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy   
  322. cdrom ===>mount -t iso9660 /dev/hdc /mnt/cdrom   
  323. SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom   
  324. SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr  
  325.   
  326. 不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。   
  327.   
  328. umount   
  329.   
  330. 1.作用   
  331.   
  332. umount命令的作用是卸载一个文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者。   
  333.   
  334. 2.格式   
  335.   
  336. unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir  
  337.   
  338. 3.使用说明   
  339.   
  340. umount命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD-ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时,如果已将/cdrom作为符号链接,请使用umount/cdrom来卸装它。仅当无用户正在使用光盘时,该命令才会成功。该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。   
  341.   
  342. chsh   
  343.   
  344. 1.作用   
  345.   
  346. chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者。   
  347.   
  348. 2.格式   
  349.   
  350. chsh [ -s ] [ -list] [ --help ] [ -v ] [ username ]  
  351.   
  352. 3.主要参数   
  353.   
  354. -l:显示系统所有Shell类型。   
  355.   
  356. -v:显示Shell版本号。   
  357.   
  358. 4.应用技巧   
  359.   
  360. 前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shell change”。其界面一般如下:   
  361.   
  362. Changing fihanging shell for cao  
  363. Password:   
  364. New shell [/bin/bash]: /bin/tcsh  
  365.   
  366. 上面代码中,[ ]内是目前使用的Shell。普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。要想查询系统提供哪些Shell,可以使用chsh -l 命令,见图1所示。   
  367.   
  368.   
  369. 图1 系统可以使用的Shell类型   
  370.   
  371.   
  372. 从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。   
  373.   
  374. exit   
  375.   
  376. 1.作用   
  377.   
  378. exit命令的作用是退出系统,它的使用权限是所有用户。   
  379.   
  380. 2.格式   
  381.   
  382. exit   
  383.   
  384. 3.参数   
  385.   
  386. exit命令没有参数,运行后退出系统进入登录界面。   
  387.   
  388. last   
  389.   
  390. 1.作用   
  391.   
  392. last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。   
  393.   
  394. 2.格式   
  395.   
  396. 1ast[—n][-f file][-t tty] [—h 节点][-I —IP][—1][-y][1D]  
  397.   
  398. 3.主要参数   
  399.   
  400. -n:指定输出记录的条数。   
  401.   
  402. -f file:指定用文件file作为查询用的log文件。   
  403.   
  404. -t tty:只显示指定的虚拟控制台上登录情况。   
  405.   
  406. -h 节点:只显示指定的节点上的登录情况。   
  407.   
  408. -i IP:只显示指定的IP上登录的情况。   
  409.   
  410. -1:用IP来显示远端地址。   
  411.   
  412. -y:显示记录的年、月、日。   
  413.   
  414. -ID:知道查询的用户名。   
  415.   
  416. -x:显示系统关闭、用户登录和退出的历史。   
  417.   
  418. 动手练习   
  419.   
  420. 上面介绍了Linux安装和登录命令,下面介绍几个实例,动手练习一下刚才讲过的命令。   
  421.   
  422. 1.一次运行多个命令   
  423.   
  424. 在一个命令行中可以执行多个命令,用分号将各个命令隔开即可,例如:   
  425.   
  426. #last -x;halt  
  427.   
  428. 上面代码表示在显示系统关闭、用户登录和退出的历史后关闭计算机。   
  429.   
  430. 2.利用mount挂装文件系统访问Windows系统   
  431.   
  432. 许多Linux发行版本现在都可以自动加载Vfat分区来访问Windows系统,而Red Hat各个版本都没有自动加载Vfat分区,因此还需要进行手工操作。   
  433.   
  434. mount可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来。因此,只要访问这个文件夹就相当于访问该分区了。首先要在/mnt下建立winc文件夹,在命令提示符下输入下面命令:   
  435.   
  436. #mount -t vfat /dev/hda1 /mnt/winc  
  437.   
  438. 即表示将Windows的C分区挂到Liunx的/mnt/winc目录下。这时,在/mnt/winc目录下就可以看到Windows中C盘的内容了。使用类似的方法可以访问Windows系统的D、E盘。在Linux系统显示Windows的分区一般顺序这样的:hda1为C盘、hda5为D盘、hda6为E盘……以此类推。上述方法可以查看Windows系统有一个很大的问题,就是Windows中的所有中文文件名或文件夹名全部显示为问号“?”,而英文却可以正常显示。我们可以通过加入一些参数让它显示中文。还以上面的操作为例,此时输入命令:   
  439.   
  440. #mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc  
  441.   
  442. 现在它就可以正常显示中文了。   
  443.   
  444. 3.使用mount加挂闪盘上的文件系统   
  445.   
  446. 在Linux下使用闪盘非常简单。Linux对USB设备有很好的支持,当插入闪盘后,闪盘被识别为一个SCSI盘,通常输入以下命令:   
  447.   
  448. # mount /dev/sda1 /usb  
  449.   
  450. 就能够加挂闪盘上的文件系统。   
  451.   
  452. 小知识   
  453.   
  454. Linux命令与Shell   
  455.   
  456. 所谓Shell,就是命令解释程序,它提供了程序设计接口,可以使用程序来编程。学习Shell对于Linux初学者理解Linux系统是非常重要的。Linux系统的Shell作为操作系统的外壳,为用户提供了使用操作系统的接口。Shell是命令语言、命令解释程序及程序设计语言的统称,是用户和Linux内核之间的接口程序。如果把Linux内核想象成一个球体的中心,Shell就是围绕内核的外层。当从Shell或其它程序向Linux传递命令时,内核会做出相应的反应。Shell在Linux系统的作用和MS DOS下的COMMAND.COM和Windows 95/98 的 explorer.exe相似。Shell虽然不是系统核心的一部分,只是系统核心的一个外延,但它能够调用系统内核的大部分功能。因此,可以说Shell是Unux/Linux最重要的实用程序。   
  457.   
  458. Linux中的Shell有多种类型,其中最常用的是Bourne Shell(sh)、C Shell(csh)和Korn Shell(ksh)。大多数Linux发行版本缺省的Shell是Bourne Again Shell,它是Bourne Shell的扩展,简称bash,与Bourne Shell完全向后兼容,并且在Bourne Shell的基础上增加了很多特性。bash放在/bin/bash中,可以提供如命令补全、命令编辑和命令历史表等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。Linux系统中200多个命令中有40个是bash的内部命令,主要包括exit、less、lp、kill、 cd、pwd、fc、fg等  

ls          显示文件或目录

linux 常用命令大全

常用命令

poweroff            关机

reboot               重启

logout                注销

pwd                   显示当前路径

cd                      进入目录

cd ../                  进入上一级目录

cd ./                   进入当前目录

cd ~                   进入家目录

cd -                    进入上一次的目录

mkdir                 创建目录

mkdir -p             递归创建目录

ls                       显示当前路径下的文件/目录的名字

ls -a                   显示所有

ll      =     ls -l     显示当前路径下的文件/目录的名字,和其他信息

ll -a                    显示所有

touch                 创建一个空文件

cp 文件1/目录1 文件2/目录2         复制/重命名

cp -r 目录 目录            复制

mv                     移动/重命名

rm                      删除

rm -rf                 删除目录

find .                  查询全部

ln -s                   创建软连接

echo                  输出内容到屏幕上

>                        将输出内容写入到文件中,覆盖模式

>>                     将输出内容写入到文件中,追加模式

cat                    看文件内容,全部

more/less         分页查看

head                看头10条数据

head -100       看头100条数据

tail                   看后10条数据

tail -100           看后100条数据

tail -f                看滚动日志文件

vi                     编辑模式       

vi 文件             使用vi编辑模式打开文件

wq                   保存退出

wq!                  保存强制退出

q                      不保存退出

q!                     不保存强制退出

i                       在光标上一位插入

a                      在光标下一位插入

I                       在行首插入

A                      在行末插入

o                      下方另起一行插入

O                     上方另起一行插入

^                      移动到行首

$                      移动到行尾

G                     移动到文件尾部

gg                    移动到文件头部

ngg/n               移动到n行

pageup            上翻

pagedown       下翻

p                      在下一行粘贴

np                    在下一行粘贴n次

yy                    复制当前行

nyy                  复制n行

yw                   复制一个单词

y$                    复制到行尾

y^                    复制到行首

yG                   复制到文件尾

fgg                   复制到文件头

dd                    删除当前行

ndd                  删除n行

dw                   删除单词

d$                   删除到行首

d^                   删除到行尾

dG                 删除到文件尾

dgg                删除到文件头

/要查询的内容    从上往下查询

n                   下一个结果

N                  上一个结果

?要查询的内容    从下往上查询

:s/a/b           当前行a替换b(只替换一个)

:s/a/b/g        当前行的a替换为b(替换全部)

:n,ms/a/b/g   从n行到m行替换

:1,.s/a/b/g    从文件头到当前行替换

:.,$s/a/b/g    从当前行到文件尾替换

:%s/a/b/g     全文替换

u                  撤销

ctrl r            反撤销

:set nu         显示行号

chmod         修改文件权限

su 用户名    切换用户

exit              切换到上一个用户

ifconfig         查看主机IP地址

#  hostname 名字    设置主机名称(仅仅在当前生效,系统重启以后不生效)

$:普通用户登录后系统的提示符

3.常用VI命令大全

[java] view plain copy

 

  1. 进入vi的命令   
  2. vi filename :打开或新建文件,并将光标置于第一行首   
  3. vi  n filename :打开文件,并将光标置于第n行首   
  4. vi   filename :打开文件,并将光标置于最后一行首   
  5. vi  /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处   
  6. vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename   
  7. vi filename....filename :打开多个文件,依次进行编辑   
  8.   
  9. 移动光标类命令  
  10. h :光标左移一个字符   
  11. l :光标右移一个字符   
  12. space:光标右移一个字符   
  13. Backspace:光标左移一个字符   
  14. k或Ctrl p:光标上移一行   
  15. j或Ctrl n :光标下移一行   
  16. Enter :光标下移一行   
  17. w或W :光标右移一个字至字首   
  18. b或B :光标左移一个字至字首   
  19. e或E :光标右移一个字至字尾   
  20. ) :光标移至句尾   
  21. ( :光标移至句首   
  22. }:光标移至段落开头   
  23. {:光标移至段落结尾   
  24. nG:光标移至第n行首   
  25. n :光标下移n行   
  26. n-:光标上移n行   
  27. n$:光标移至第n行尾   
  28. H :光标移至屏幕顶行   
  29. M :光标移至屏幕中间行   
  30. L :光标移至屏幕最后行   
  31. 0:(注意是数字零)光标移至当前行首   
  32. $:光标移至当前行尾   
  33.   
  34. 屏幕翻滚类命令   
  35. Ctrl u:向文件首翻半屏   
  36. Ctrl d:向文件尾翻半屏   
  37. Ctrl f:向文件尾翻一屏   
  38. Ctrl+b;向文件首翻一屏   
  39. nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。   
  40.   
  41. 插入文本类命令   
  42. i :在光标前   
  43. I :在当前行首   
  44. a:光标后   
  45. A:在当前行尾   
  46. o:在当前行之下新开一行   
  47. O:在当前行之上新开一行   
  48. r:替换当前字符   
  49. R:替换当前字符及其后的字符,直至按ESC键   
  50. s:从当前光标位置处开始,以输入的文本替代指定数目的字符   
  51. S:删除指定数目的行,并以所输入文本代替之   
  52. ncw或nCW:修改指定数目的字   
  53. nCC:修改指定数目的行   
  54.   
  55. 删除命令   
  56. ndw或ndW:删除光标处开始及其后的n-1个字   
  57. do:删至行首   
  58. d$:删至行尾   
  59. ndd:删除当前行及其后n-1行   
  60. x或X:删除一个字符,x删除光标后的,而X删除光标前的   
  61. Ctrl u:删除输入方式下所输入的文本   
  62.   
  63. 搜索及替换命令   
  64. /pattern:从光标开始处向文件尾搜索pattern   
  65. ?pattern:从光标开始处向文件首搜索pattern   
  66. n:在同一方向重复上一次搜索命令   
  67. N:在反方向上重复上一次搜索命令   
  68. :s/p1/p2/g:将当前行中所有p1均用p2替代   
  69. :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代   
  70. :g/p1/s//p2/g:将文件中所有p1均用p2替换   
  71.   
  72. 选项设置   
  73. all:列出所有选项设置情况   
  74. term:设置终端类型   
  75. ignorance:在搜索中忽略大小写   
  76. list:显示制表位(Ctrl I)和行尾标志($)   
  77. number:显示行号   
  78. report:显示由面向行的命令修改过的数目   
  79. terse:显示简短的警告信息   
  80. warn:在转到别的文件时若没保存当前文件则显示NO write信息   
  81. nomagic:允许在搜索模式中,使用前面不带“”的特殊字符   
  82. nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始   
  83. mesg:允许vi显示其他用户用write写到自己终端上的信息   
  84.   
  85. 最后行方式命令   
  86. :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下   
  87. :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下   
  88. :n1,n2 d :将n1行到n2行之间的内容删除   
  89. :w :保存当前文件   
  90. :e filename:打开文件filename进行编辑   
  91. :x:保存当前文件并退出   
  92. :q:退出vi   
  93. :q!:不保存文件并退出vi   
  94. :!command:执行shell命令command   
  95. :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入   
  96. :r!command:将命令command的输出结果放到当前行   
  97.   
  98. 寄存器操作   
  99. "?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字   
  100. "?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字   
  101. "?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字   
  102. "?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字   
  103. ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。  
  104.   
  105. VI的使用  
  106. --------------------------------------------------------------------------------  
  107.   
  108. 一、插入文本   
  109. ┌──┬────────────┐   
  110. │命令│描述          │   
  111. ├──┼────────────┤   
  112. │i  │在当前字符前插入文本  │   
  113. ├──┼────────────┤   
  114. │I  │在行首插入文本      │   
  115. ├──┼────────────┤   
  116. │a  │在当前字符后添加文本  │   
  117. ├──┼────────────┤   
  118. │A  │在行末添加文本     │   
  119. ├──┼────────────┤   
  120. │o  │在当前行后面插入一空行 │   
  121. ├──┼────────────┤   
  122. │O  │在当前行前面插入一空行 │   
  123. ├──┼────────────┤   
  124. │R  │以改写方式输入文本   │   
  125. └──┴────────────┘   
  126. 二、移动光标   
  127. ┌─────┬───────────┐   
  128. │命令   │描述         │   
  129. ├─────┼───────────┤   
  130. │j或下箭头 │向下移动一行     │   
  131. ├─────┼───────────┤   
  132. │k或上箭头 │向上移动一行     │   
  133. ├─────┼───────────┤   
  134. │h或左箭头 │左移一个字符     │   
  135. ├─────┼───────────┤   
  136. │l或右箭头 │右移一个字符     │   
  137. ├─────┼───────────┤   
  138. │w     │右移一个词      │   
  139. ├─────┼───────────┤   
  140. │W     │右移一个以空格分隔的词│   
  141. ├─────┼───────────┤   
  142. │b     │左移一个词      │   
  143. ├─────┼───────────┤   
  144. │B     │左移一个以空格分隔的词│   
  145. ├─────┼───────────┤   
  146. │0     │移到行首       │   
  147. │Ctrl-F  │向前翻页       │   
  148. ├─────┼───────────┤   
  149. │Ctrl-B  │向后翻页       │   
  150. ├─────┼───────────┤   
  151. │nG    │到第n行        │   
  152. ├─────┼───────────┤   
  153. │G     │到最后一行      │   
  154. └─────┴───────────┘   
  155. 三、替换文本   
  156. ┌─────┬──────┐   
  157. │命令   │描述    │   
  158. ├─────┼──────┤   
  159. │$     │到行尾   │   
  160. ├─────┼──────┤   
  161. │(     │到句子的开头│   
  162. ├─────┼──────┤   
  163. │)     │到句子的末尾│   
  164. ├─────┼──────┤   
  165. │{     │到段落的开头│   
  166. ├─────┼──────┤   
  167. │}     │到段落的末尾│   
  168. └─────┴──────┘   
  169.   
  170. 四、删除文本   
  171. ┌───┬───────────┐   
  172. │命令 │描述          │   
  173. ├───┼───────────┤   
  174. │r   │替换一个字符      │   
  175. ├───┼───────────┤   
  176. │c   │修改文本直到按下Esc健 │   
  177. ├───┼───────────┤   
  178. │cw  │修改下一个词      │   
  179. ├───┼───────────┤   
  180. │cnw  │修改接下来的n个词   │   
  181. └───┴───────────┘   
  182. 五、文本编辑   
  183. ┌──┬──────────────────────┐   
  184. │命寺│描述                    │   
  185. ├──┼──────────────────────┤   
  186. │yy │将一行文本移到缺省缓冲区中          │   
  187. ├──┼──────────────────────┤   
  188. │yn │将下一个词移到缺省缓冲区中          │   
  189. ├──┼──────────────────────┤   
  190. │ynw │将后面的n个词移到缺省缓冲区中        │   
  191. ├──┼──────────────────────┤   
  192. │p  │如果缺省缓冲区中包含一行文本,则在当前   │   
  193. │  │行后面插入一个空行井将缺省缓冲区中的声   │   
  194. │  │容粘贴到这一行中;如果缺省缓冲区中包含   │   
  195. │  │多个词,把这些词粘贴到光标的右边.     │   
  196. ├──┼──────────────────────┤   
  197. │P  │如果缺省缓冲区中包含一行文本,则正当前    │   
  198. │   │行前面插入一个空行井将缺省缓冲区中的内    │   
  199. │  │容粘贴到这一行中;如果缺省缓冲区中包含    │   
  200. │   │多个词,把这些词粘贴到光标的左边      
  201.   
  202.   │   
  203. └──┴──────────────────────┘   
  204. 六、保存退出   
  205. ┌───────────┬───────────────┐   
  206. │命令         │描述             │   
  207. ├───────────┼───────────────┤   
  208. │zz          │保存并退出          │   
  209. ├───────────┼───────────────┤   
  210. │:w filename      │写入文件            │   
  211. ├───────────┼───────────────┤   
  212. │:W          │写入文件           │   
  213. ├───────────┼───────────────┤   
  214. │:x          │保存(如果当前文件修改过)并退出│   
  215. ├───────────┼───────────────┤   
  216. │:q!          │不保存文件,直接退出      │   
  217. ├───────────┼───────────────┤   
  218. │:q          │退出vi            │   
  219.   
  220. VI常用技巧  
  221.   
  222. VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。本文旨在介绍VI的一些最常用命令和高级应用技巧。   
  223.   
  224. 一、基本命令介绍   
  225.   
  226. ---- 1.光标命令   
  227.   
  228. k、j、h、l——上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。   
  229. nG——跳转命令。n为行数,该命令立即使光标跳到指定行。   
  230. Ctrl G——光标所在位置的行数和列数报告。   
  231. w、b——使光标向前或向后跳过一个单词。   
  232. ---- 2.编辑命令   
  233. i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。   
  234. cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。   
  235. x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。   
  236. ---- 3.查找命令   
  237. ---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。   
  238. ---- 4.拷贝复制命令   
  239. ---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。   
  240.   
  241. 二、常见问题及应用技巧   
  242.   
  243. ---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。   
  244. ---- vi file   
  245. ---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd   
  246. ---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。   
  247. ---- 您也可以在指定的行号后读入文件内容,例如使用命令“:3r /etc/passwd”从新文件的第3行开始读入 /etc/passwd的所有内容。   
  248. ---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。   
  249. ---- #cat squid.conf.default | grep -v ^$ | grep -v ^#   
  250.   
  251. ---- 2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。   
  252. ---- vi file   
  253. ---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。   
  254. ---- vi file   
  255. ---- :20,59w /tmp/1   
  256.   
  257. ---- 3.用VI编辑一个文件,但需要删除大段的内容。   
  258. ---- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl G显示行号,再到结尾处再按Ctrl G,显示文件结尾的行号。   
  259. ---- :23,1045d 假定2次得到的行号为23和1045,则把这期间的内容全删除,也可以在要删除的开始行和结束行中用ma、mb命令标记,然后利用“:a,bd”命令删除。   
  260.   
  261. ---- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。   
  262. ---- vi file   
  263. ---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。   
  264. ---- :%s/$/some string/g 在整个文件每一行的行尾添加“some string”。   
  265. ---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。   
  266. ---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。   
  267. ---- 注意: 其中s为substitute,%表示所有行,g表示global。   
  268.   
  269. ---- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。   
  270. ---- vi file1 file2   
  271. ---- yy 在文件1的光标处拷贝所在行   
  272. ---- :n 切换到文件2 (n=next)   
  273. ---- p 在文件2的光标所在处粘贴所拷贝的行   
  274. ---- :n 切换回文件1   
  275.   
  276. ---- 6.替换文件中的路径。   
  277. ---- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。  

     -l           列出文件详细信息l(list)

前两天分别和大家分享了怎么学习Linux和Linux的基本操作,今天我们一起来看一下Linux的基本命令吧!

系统信息

arch   显示机器的处理器架构(1)

uname -m   显示机器的处理器架构(2)

uname -r   显示正在使用的内核版本

dmidecode -q   显示硬件系统部件 - (SMBIOS / DMI)

hdparm -i /dev/hda   罗列一个磁盘的架构特性

hdparm -tT /dev/sda   在磁盘上执行测试性读取操作

cat /proc/cpuinfo   显示CPU info的信息

cat /proc/interrupts   显示中断

cat /proc/meminfo 校验内存使用

cat /proc/swaps   显示哪些swap被使用

cat /proc/version   显示内核的版本

cat /proc/net/dev   显示网络适配器及统计

cat /proc/mounts   显示已加载的文件系统

lspci -tv   罗列 PCI 设备

lsusb -tv   显示 USB 设备

date   显示系统日期

cal 2007   显示2007年的日历表

date 041217002007.00   设置日期和时间 - 月日时分年.秒

clock -w   将时间修改保存到 BIOS

#:root用户登录后系统的提示符

     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)

澳门新萄京官方网站 1

关机 (系统的关机、重启以及登出 ) 

shutdown -h now   关闭系统(1)

init 0   关闭系统(2)

telinit 0   关闭系统(3)

shutdown -h hours:minutes &   按预定时间关闭系统

shutdown -c   取消按预定时间关闭系统

shutdown -r now   重启(1)

reboot   重启(2)

logout   注销

 

mkdir         创建目录

系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS

文件和目录 

cd /home    进入 '/ home' 目录' 

cd ..   返回上一级目录 

cd ../..   返回上两级目录 

cd 进入个人的主目录 

cd ~user1   进入个人的主目录 

cd -   返回上次所在的目录 

pwd   显示工作路径 

ls   查看目录中的文件 

ls -F   查看目录中的文件 

ls -l   显示文件和目录的详细资料 

ls -a   显示隐藏文件 

ls *[0-9]*   显示包含数字的文件名和目录名 

tree   显示文件和目录由根目录开始的树形结构(1) 

lstree   显示文件和目录由根目录开始的树形结构(2) 

mkdir dir1   创建一个叫做 'dir1' 的目录' 

mkdir dir1 dir2   同时创建两个目录 

mkdir -p /tmp/dir1/dir2   创建一个目录树 

rm -f file1   删除一个叫做 'file1' 的文件' 

rmdir dir1   删除一个叫做 'dir1' 的目录' 

rm -rf dir1   删除一个叫做 'dir1' 的目录并同时删除其内容 

rm -rf dir1 dir2   同时删除两个目录及它们的内容 

mv dir1 new_dir   重命名/移动 一个目录 

cp file1 file2   复制一个文件 

cp dir/* .   复制一个目录下的所有文件到当前工作目录 

cp -a /tmp/dir1 .   复制一个目录到当前工作目录 

cp -a dir1 dir2    复制一个目录 

ln -s file1 lnk1   创建一个指向文件或目录的软链接 

ln file1 lnk1   创建一个指向文件或目录的物理链接 

touch -t 0712250000 file1   修改一个文件或目录的时间戳 - (YYMMDDhhmm) 

file file1 outputs the mime type of the file as text 

iconv -l   列出已知的编码 

iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. 

find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick) 

Linux命令

     -p           创建目录,若无父目录,则创建p(parent)

关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

文件搜索 

find / -name file1   从 '/' 开始进入根文件系统搜索文件和目录 

find / -user user1   搜索属于用户 'user1' 的文件和目录 

find /home/user1 -name *.bin   在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 

find /usr/bin -type f -atime 100   搜索在过去100天内未被使用过的执行文件  

find /usr/bin -type f -mtime -10   搜索在10天内被创建或者修改过的文件 

find / -name *.rpm -exec chmod 755 '{}' ;   搜索以 '.rpm' 结尾的文件并定义其权限 

find / -xdev -name *.rpm   搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 

locate *.ps   寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 

whereis halt   显示一个二进制文件、源码或man的位置 

which halt   显示一个二进制文件或可执行文件的完整路径 

exit  用于退出目前的shell

cd               切换目录

文件和目录
cd /home 进入 ‘/ home‘ 目录‘
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 ‘dir1‘ 的目录‘
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 ‘file1‘ 的文件‘
rmdir dir1 删除一个叫做 ‘dir1‘ 的目录‘
rm -rf dir1 删除一个叫做 ‘dir1‘ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

挂载一个文件系统

mount /dev/hda2 /mnt/hda2   挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在 

umount /dev/hda2   卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出 

fuser -km /mnt/hda2   当设备繁忙时强制卸载 

umount -n /mnt/hda2   运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 

mount /dev/fd0 /mnt/floppy   挂载一个软盘 

mount /dev/cdrom /mnt/cdrom   挂载一个cdrom或dvdrom 

mount /dev/hdc /mnt/cdrecorder   挂载一个cdrw或dvdrom 

mount /dev/hdb /mnt/cdrecorder   挂载一个cdrw或dvdrom 

mount -o loop file.iso /mnt/cdrom   挂载一个文件或ISO镜像文件 

mount -t vfat /dev/hda5 /mnt/hda5   挂载一个Windows FAT32文件系统 

mount /dev/sda1 /mnt/usbdisk   挂载一个usb 捷盘或闪存设备 

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share   挂载一个windows网络共享 

 

touch          创建空文件

文件搜索
find / -name file1 从 ‘/‘ 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 ‘user1‘ 的文件和目录
find /home/user1 -name *.bin 在目录 ‘/ home/user1‘ 中搜索带有‘.bin‘ 结尾的文件
find /usr/bin -type f -atime 100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name *.rpm -exec chmod 755 ‘{}‘ ; 搜索以 ‘.rpm‘ 结尾的文件并定义其权限
find / -xdev -name *.rpm 搜索以 ‘.rpm‘ 结尾的文件,忽略光驱、捷盘等可移动设备
locate *.ps 寻找以 ‘.ps‘ 结尾的文件 - 先运行 ‘updatedb‘ 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径

磁盘空间 

df -h   显示已经挂载的分区列表 

ls -lSr |more   以尺寸大小排列文件和目录 

du -sh dir1   估算目录 'dir1' 已经使用的磁盘空间' 

du -sk * | sort -rn   以容量大小为依据依次显示文件和目录的大小 

rpm -q -a --qf '{SIZE}t%{NAME}n' | sort -k1,1n   以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) 

dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n   以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统) 

who  用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等

echo            创建带有内容的文件。

挂载一个文件系统
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2‘ 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2‘ 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

用户和群组

groupadd group_常用命令集合,Linux常用命令大全。name   创建一个新用户组 

groupdel group_name   删除一个用户组 

groupmod -n new_group_name old_group_name   重命名一个用户组 

useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1   创建一个属于 "admin" 用户组的用户 

useradd user1   创建一个新用户 

userdel -r user1   删除一个用户 ( '-r' 排除主目录) 

usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1   修改用户属性 

passwd   修改口令 

passwd user1   修改一个用户的口令 (只允许root执行) 

chage -E 2005-12-31 user1   设置用户口令的失效期限 

pwck   检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户 

grpck   检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组 

newgrp group_name   登陆进一个新的群组以改变新创建文件的预设群组 

 

cat              查看文件内容

磁盘空间
df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 ‘dir1‘ 已经使用的磁盘空间‘
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf ‘{SIZE}t%{NAME}n‘ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=‘${Installed-Size;10}t${Package}n‘ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

文件的权限 - 使用 " " 设置权限,使用 "-" 用于取消

ls -lh   显示权限 

ls /tmp | pr -T5 -W$COLUMNS   将终端划分成5栏显示 

chmod ugo rwx directory1   设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 

chmod go-rwx directory1   删除群组(g)与其他人(o)对目录的读写执行权限 

chown user1 file1   改变一个文件的所有人属性 

chown -R user1 directory1   改变一个目录的所有人属性并同时改变改目录下所有文件的属性 

chgrp group1 file1   改变文件的群组 

chown user1:group1 file1   改变一个文件的所有人和群组属性 

find / -perm -u s   罗列一个系统中所有使用了SUID控制的文件 

chmod u s /bin/file1   设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 

chmod u-s /bin/file1   禁用一个二进制文件的 SUID位 

chmod g s /home/public   设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 

chmod g-s /home/public   禁用一个目录的 SGID 位 

chmod o t /home/public   设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 

chmod o-t /home/public   禁用一个目录的 STIKY 位 

whoami  用于显示自身用户名称,本指令相当于执行"id -un"指令

cp                拷贝

用户和群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( ‘-r‘ 排除主目录)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 ‘/etc/passwd‘ 的文件格式和语法修正以及存在的用户
grpck 检查 ‘/etc/passwd‘ 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

文件的特殊属性 - 使用 " " 设置权限,使用 "-" 用于取消 

chattr a file1   只允许以追加方式读写文件 

chattr c file1   允许这个文件能被内核自动压缩/解压 

chattr d file1   在进行文件系统备份时,dump程序将忽略这个文件 

chattr i file1   设置成不可变的文件,不能被删除、修改、重命名或者链接 

chattr s file1   允许一个文件被安全地删除 

chattr S file1   一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 

chattr u file1   若文件被删除,系统会允许你在以后恢复这个被删除的文件 

lsattr   显示特殊的属性 

 

mv               移动或重命名

文件的权限 - 使用 " " 设置权限,使用 "-" 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u s 罗列一个系统中所有使用了SUID控制的文件
chmod u s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位

打包和压缩文件 

bunzip2 file1.bz2    解压一个叫做 'file1.bz2'的文件 

bzip2 file1   压缩一个叫做 'file1' 的文件 

gunzip file1.gz   解压一个叫做 'file1.gz'的文件 

gzip file1   压缩一个叫做 'file1'的文件 

gzip -9 file1   最大程度压缩 

rar a file1.rar test_file   创建一个叫做 'file1.rar' 的包 

rar a file1.rar file1 file2 dir1    同时压缩 'file1', 'file2' 以及目录 'dir1' 

rar x file1.rar   解压rar包 

unrar x file1.rar   解压rar包 

tar -cvf archive.tar file1   创建一个非压缩的 tarball 

tar -cvf archive.tar file1 file2 dir1   创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 

tar -tf archive.tar   显示一个包中的内容 

tar -xvf archive.tar   释放一个包 

tar -xvf archive.tar -C /tmp   将压缩包释放到 /tmp目录下 

tar -cvfj archive.tar.bz2 dir1   创建一个bzip2格式的压缩包 

tar -xvfj archive.tar.bz2   解压一个bzip2格式的压缩包 

tar -cvfz archive.tar.gz dir1   创建一个gzip格式的压缩包 

tar -xvfz archive.tar.gz   解压一个gzip格式的压缩包 

zip file1.zip file1   创建一个zip格式的压缩包 

zip -r file1.zip file1 file2 dir1   将几个文件和目录同时压缩成一个zip格式的压缩包 

unzip file1.zip   解压一个zip格式压缩包 

date  用来显示或设定系统的日期与时间

rm               删除文件

文件的特殊属性 - 使用 " " 设置权限,使用 "-" 用于取消
chattr a file1 只允许以追加方式读写文件
chattr c file1 允许这个文件能被内核自动压缩/解压
chattr d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr s file1 允许一个文件被安全地删除
chattr S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性

RPM 包 - (Fedora, Redhat及类似系统)

rpm -ivh package.rpm   安装一个rpm包 

rpm -ivh --nodeeps package.rpm   安装一个rpm包而忽略依赖关系警告 

rpm -U package.rpm    更新一个rpm包但不改变其配置文件 

rpm -F package.rpm    更新一个确定已经安装的rpm包 

rpm -e package_name.rpm    删除一个rpm包 

rpm -qa   显示系统中所有已经安装的rpm包 

rpm -qa | grep httpd   显示所有名称中包含 "httpd" 字样的rpm包 

rpm -qi package_name 获取一个已安装包的特殊信息 

rpm -qg "System Environment/Daemons"   显示一个组件的rpm包 

rpm -ql package_name   显示一个已经安装的rpm包提供的文件列表 

rpm -qc package_name   显示一个已经安装的rpm包提供的配置文件列表 

rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表 

rpm -q package_name --whatprovides   显示一个rpm包所占的体积 

rpm -q package_name --scripts   显示在安装/删除期间所执行的脚本l 

rpm -q package_name --changelog    显示一个rpm包的修改历史 

rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供 

rpm -qp package.rpm -l    显示由一个尚未安装的rpm包提供的文件列表 

rpm --import /media/cdrom/RPM-GPG-KEY   导入公钥数字证书 

rpm --checksig package.rpm    确认一个rpm包的完整性 

rpm -qa gpg-pubkey    确认已安装的所有rpm包的完整性 

rpm -V package_name    检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 

rpm -Va    检查系统中所有已安装的rpm包- 小心使用 

rpm -Vp package.rpm    确认一个rpm包还未安装 

rpm2cpio package.rpm | cpio --extract --make-directories *bin*    从一个rpm包运行可执行文件 

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm    从一个rpm源码安装一个构建好的包 

rpmbuild --rebuild package_name.src.rpm    从一个rpm源码构建一个 rpm 包 

 

     -r            递归删除,可删除子目录及文件

打包和压缩文件
bunzip2 hucht.bz2 解压一个叫做 ‘hucht.bz2‘的文件
bzip2 hucht压缩一个叫做 ‘hucht‘ 的文件
gunzip hucht.gz 解压一个叫做 ‘huchht.gz‘的文件
gzip huc压缩一个叫做 ‘huc‘的文件
gzip -9 hucht最大程度压缩
rar a hucht.rar test_file 创建一个叫做 ‘hucht.rar‘ 的包
rar a hucht.rar hucht file2 dir1 同时压缩 ‘hucht‘, ‘file2‘ 以及目录 ‘dir1‘
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar hucht创建一个非压缩的 tarball
tar -cvf archive.tar hucht huc dir1 创建一个包含了 ‘hucht‘, ‘huc‘ 以及 ‘dir1‘的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r hucht.zip hucht huc dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip hucht.zip 解压一个zip格式压缩包

YUM 软件包升级器 - (Fedora, RedHat及类似系统) 

yum install package_name    下载并安装一个rpm包 

yum localinstall package_name.rpm    将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系 

yum update package_name.rpm    更新当前系统中所有安装的rpm包 

yum update package_name    更新一个rpm包 

yum remove package_name    删除一个rpm包 

yum list    列出当前系统中安装的所有包 

yum search package_name    在rpm仓库中搜寻软件包 

yum clean packages    清理rpm缓存删除下载的包 

yum clean headers    删除所有头文件 

yum clean all    删除所有缓存的包和头文件 

clear  清屏(Ctrl l)

     -f            强制删除

RPM 包 - (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -qg "System Environment/Daemons" 显示一个组件的rpm包
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name --whatprovides 显示一个rpm包所占的体积
rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
rpm -q package_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm --checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

DEB 包 (Debian, Ubuntu 以及类似系统) 

dpkg -i package.deb    安装/更新一个 deb 包 

dpkg -r package_name    从系统删除一个 deb 包 

dpkg -l    显示系统中所有已经安装的 deb 包 

dpkg -l | grep httpd    显示所有名称中包含 "httpd" 字样的deb包 

dpkg -s package_name    获得已经安装在系统中一个特殊包的信息 

dpkg -L package_name    显示系统中已经安装的一个deb包所提供的文件列表 

dpkg --contents package.deb    显示尚未安装的一个包所提供的文件列表 

dpkg -S /bin/ping    确认所给的文件由哪个deb包提供 

 

find              在文件系统中搜索某文件

YUM 软件包升级器 - (Fedora, RedHat及类似系统)
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件

APT 软件工具 (Debian, Ubuntu 以及类似系统)

apt-get install package_name    安装/更新一个 deb 包 

apt-cdrom install package_name    从光盘安装/更新一个 deb 包 

apt-get update    升级列表中的软件包 

apt-get upgrade    升级所有已安装的软件 

apt-get remove package_name    从系统删除一个deb包 

apt-get check    确认依赖的软件仓库正确 

apt-get clean    从下载的软件包中清理缓存 

apt-cache search searched-package    返回包含所要搜索字符串的软件包名称 

su  用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码

wc                统计文本中行数、字数、字符数

DEB 包 (Debian, Ubuntu 以及类似系统)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 从系统删除一个 deb 包
dpkg -l 显示系统中所有已经安装的 deb 包
dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包
dpkg -s package_name 获得已经安装在系统中一个特殊包的信息
dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表
dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表
dpkg -S /bin/ping 确认所给的文件由哪个deb包提供

查看文件内容

cat file1    从第一个字节开始正向查看文件的内容 

tac file1    从最后一行开始反向查看一个文件的内容 

more file1    查看一个长文件的内容 

常用命令集合,Linux常用命令大全。less file1    类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 

head -2 file1    查看一个文件的前两行 

tail -2 file1    查看一个文件的最后两行 

tail -f /var/log/messages    实时查看被添加到一个文件中的内容 

例:su - root    #切换到root用户

grep             在文本文件中查找某个字符串

APT 软件工具 (Debian, Ubuntu 以及类似系统)
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 从光盘安装/更新一个 deb 包
apt-get update 升级列表中的软件包
apt-get upgrade 升级所有已安装的软件
apt-get remove package_name 从系统删除一个deb包
apt-get check 确认依赖的软件仓库正确
apt-get clean 从下载的软件包中清理缓存
apt-cache search searched-package 返回包含所要搜索字符串的软件包名称

文本处理 

cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT 

cat file1 | command( sed, grep, awk, grep, etc...) > result.txt    合并一个文件的详细说明文本,并将简介写入一个新文件中 

cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt    合并一个文件的详细说明文本,并将简介写入一个已有的文件中 

grep Aug /var/log/messages    在文件 '/var/log/messages'中查找关键词"Aug" 

grep ^Aug /var/log/messages    在文件 '/var/log/messages'中查找以"Aug"开始的词汇 

grep [0-9] /var/log/messages    选择 '/var/log/messages' 文件中所有包含数字的行 

grep Aug -R /var/log/*    在目录 '/var/log' 及随后的目录中搜索字符串"Aug" 

sed 's/stringa1/stringa2/g' example.txt    将example.txt文件中的 "string1" 替换成 "string2" 

sed '/^$/d' example.txt    从example.txt文件中删除所有空白行 

sed '/ *#/d; /^$/d' example.txt    从example.txt文件中删除所有注释和空白行 

echo 'esempio' | tr '[:lower:]' '[:upper:]'    合并上下单元格内容 

sed -e '1d' result.txt    从文件example.txt 中排除第一行 

sed -n '/stringa1/p'    查看只包含词汇 "string1"的行 

sed -e 's/ *$//' example.txt    删除每一行最后的空白字符 

sed -e 's/stringa1//g' example.txt    从文档中只删除词汇 "string1" 并保留剩余全部  

sed -n '1,5p;5q' example.txt    查看从第一行到第5行内容 

sed -n '5p;5q' example.txt    查看第5行 

sed -e 's/00*/0/g' example.txt    用单个零替换多个零 

cat -n file1    标示文件的行数 

cat example.txt | awk 'NR%2==1'    删除example.txt文件中的所有偶数行 

echo a b c | awk '{print $1}'    查看一行第一栏 

echo a b c | awk '{print $1,$3}'    查看一行的第一和第三栏 

paste file1 file2    合并两个文件或两栏的内容 

paste -d ' ' file1 file2    合并两个文件或两栏的内容,中间用" "区分 

sort file1 file2    排序两个文件的内容 

sort file1 file2 | uniq    取出两个文件的并集(重复的行只保留一份) 

sort file1 file2 | uniq -u    删除交集,留下其他的行 

sort file1 file2 | uniq -d    取出两个文件的交集(只留下同时存在于两个文件中的文件) 

comm -1 file1 file2    比较两个文件的内容只删除 'file1' 所包含的内容 

comm -2 file1 file2    比较两个文件的内容只删除 'file2' 所包含的内容 

comm -3 file1 file2    比较两个文件的内容只删除两个文件共有的部分 

 

rmdir           删除空目录

查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 ‘more‘ 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容

字符设置和文件格式转换 

dos2unix filedos.txt fileunix.txt    将一个文本文件的格式从MSDOS转换成UNIX 

unix2dos fileunix.txt filedos.txt    将一个文本文件的格式从UNIX转换成MSDOS 

recode ..HTML < page.txt > page.html    将一个文本文件转换成html 

recode -l | more    显示所有允许的转换格式 

cd  用于切换当前工作目录至 dirName(目录参数);其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录);另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录

tree             树形结构显示目录,需要安装tree包

文本处理
cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug /var/log/messages 在文件 ‘/var/log/messages‘中查找关键词"Aug"
grep ^Aug /var/log/messages 在文件 ‘/var/log/messages‘中查找以"Aug"开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages‘ 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 ‘/var/log‘ 及随后的目录中搜索字符串"Aug"
sed ‘s/stringa1/stringa2/g‘ example.txt 将example.txt文件中的 "string1" 替换成 "string2"
sed ‘/^$/d‘ example.txt 从example.txt文件中删除所有空白行
sed ‘/ *#/d; /^$/d‘ example.txt 从example.txt文件中删除所有注释和空白行
echo ‘esempio‘ | tr ‘[:lower:]‘ ‘[:upper:]‘ 合并上下单元格内容
sed -e ‘1d‘ result.txt 从文件example.txt 中排除第一行
sed -n ‘/stringa1/p‘ 查看只包含词汇 "string1"的行
sed -e ‘s/ *$//‘ example.txt 删除每一行最后的空白字符
sed -e ‘s/stringa1//g‘ example.txt 从文档中只删除词汇 "string1" 并保留剩余全部
sed -n ‘1,5p;5q‘ example.txt 查看从第一行到第5行内容
sed -n ‘5p;5q‘ example.txt 查看第5行
sed -e ‘s/00*/0/g‘ example.txt 用单个零替换多个零
cat -n file1 标示文件的行数
cat example.txt | awk ‘NR%2==1‘ 删除example.txt文件中的所有偶数行
echo a b c | awk ‘{print $1}‘ 查看一行第一栏
echo a b c | awk ‘{print $1,$3}‘ 查看一行的第一和第三栏
paste file1 file2 合并两个文件或两栏的内容
paste -d ‘ ‘ file1 file2 合并两个文件或两栏的内容,中间用" "区分
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
comm -1 file1 file2 比较两个文件的内容只删除 ‘file1‘ 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 ‘file2‘ 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分
cat file | grep -v ‘123‘ // 查看文件file,剔除包含123的行
字符设置和文件格式转换
dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX
unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS
recode ..HTML < page.txt > page.html 将一个文本文件转换成html
recode -l | more 显示所有允许的转换格式
文件系统分析
badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
初始化一个文件系统
mkfs /dev/hda1 在hda1分区创建一个文件系统
mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统
mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统
SWAP文件系统
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个新的swap文件系统
swapon /dev/hda2 /dev/hdb3 启用两个swap分区

文件系统分析 

badblocks -v /dev/hda1    检查磁盘hda1上的坏磁块 

fsck /dev/hda1    修复/检查hda1磁盘上linux文件系统的完整性 

fsck.ext2 /dev/hda1    修复/检查hda1磁盘上ext2文件系统的完整性 

e2fsck /dev/hda1    修复/检查hda1磁盘上ext2文件系统的完整性 

e2fsck -j /dev/hda1    修复/检查hda1磁盘上ext3文件系统的完整性 

fsck.ext3 /dev/hda1    修复/检查hda1磁盘上ext3文件系统的完整性 

fsck.vfat /dev/hda1    修复/检查hda1磁盘上fat文件系统的完整性 

fsck.msdos /dev/hda1    修复/检查hda1磁盘上dos文件系统的完整性 

dosfsck /dev/hda1    修复/检查hda1磁盘上dos文件系统的完整性

例:cd /usr/bin/    #跳到 /usr/bin/

pwd              显示当前目录

 

初始化一个文件系统

mkfs /dev/hda1    在hda1分区创建一个文件系统 

mke2fs /dev/hda1    在hda1分区创建一个linux ext2的文件系统 

mke2fs -j /dev/hda1    在hda1分区创建一个linux ext3(日志型)的文件系统 

mkfs -t vfat 32 -F /dev/hda1    创建一个 FAT32 文件系统 

fdformat -n /dev/fd0    格式化一个软盘 

mkswap /dev/hda3    创建一个swap文件系统

cd ~    #跳到自己的 home 目录

ln                  创建链接文件

网络 - (以太网和WIFI无线)
ifconfig eth0 显示一个以太网卡的配置
ifup eth0 启用一个 ‘eth0‘ 网络设备
ifdown eth0 禁用一个 ‘eth0‘ 网络设备
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
ifconfig eth0 promisc 设置 ‘eth0‘ 成混杂模式以嗅探数据包 (sniffing)
dhclient eth0 以dhcp模式启用 ‘eth0

SWAP文件系统

mkswap /dev/hda3    创建一个swap文件系统 

swapon /dev/hda3    启用一个新的swap文件系统 

swapon /dev/hda2 /dev/hdb3    启用两个swap分区 

mkswap /dev/hda3    创建一个swap文件系统 

swapon /dev/hda3    启用一个新的swap文件系统 

swapon /dev/hda2 /dev/hdb3     启用两个swap分区 

cd ../..    #跳到目前目录的上上两层

more、less  分页显示文本文件内容

 

备份

dump -0aj -f /tmp/home0.bak /home    制作一个 '/home' 目录的完整备份 

dump -1aj -f /tmp/home0.bak /home    制作一个 '/home' 目录的交互式备份 

restore -if /tmp/home0.bak    还原一个交互式备份 

rsync -rogpav --delete /home /tmp    同步两边的目录 

rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync 

rsync -az -e ssh --delete ip_addr:/home/public /home/local    通过ssh和压缩将一个远程目录同步到本地目录 

rsync -az -e ssh --delete /home/local ip_addr:/home/public    通过ssh和压缩将本地目录同步到远程目录 

dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'    通过ssh在远程主机上执行一次备份本地磁盘的操作 

dd if=/dev/sda of=/tmp/file1    备份磁盘内容到一个文件 

tar -Puf backup.tar /home/user    执行一次对 '/home/user' 目录的交互式备份操作 

( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'    通过ssh在远程目录中复制一个目录内容 

( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'    通过ssh在远程目录中复制一个本地目录 

tar cf - . | (cd /tmp/backup ; tar xf - )    本地将一个目录复制到另一个地方,保留原有权限及链接 

find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents    从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录 

find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2    查找所有以 '.log' 结尾的文件并做成一个bzip包 

dd if=/dev/hda of=/dev/fd0 bs=512 count=1    做一个将 MBR (Master Boot Record)内容复制到软盘的动作 

dd if=/dev/fd0 of=/dev/hda bs=512 count=1    从已经保存到软盘的备份中恢复MBR内容 

 

head、tail    显示文件头、尾内容

 

光盘 

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force    清空一个可复写的光盘内容 

mkisofs /dev/cdrom > cd.iso    在磁盘上创建一个光盘的iso镜像文件 

mkisofs /dev/cdrom | gzip > cd_iso.gz    在磁盘上创建一个压缩了的光盘iso镜像文件 

mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd    创建一个目录的iso镜像文件 

cdrecord -v dev=/dev/cdrom cd.iso    刻录一个ISO镜像文件 

gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -    刻录一个压缩了的ISO镜像文件 

mount -o loop cd.iso /mnt/iso    挂载一个ISO镜像文件 

cd-paranoia -B    从一个CD光盘转录音轨到 wav 文件中 

cd-paranoia -- "-3"    从一个CD光盘转录音轨到 wav 文件中(参数-3) 

cdrecord --scanbus    扫描总线以识别scsi通道 

dd if=/dev/hdc | md5sum    校验一个设备的md5sum编码,例如一张 CD 

useradd  用于建立用户帐号;帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号;使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中

ctrl alt F1  命令行全屏模式

文本处理
cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug /var/log/messages 在文件 ‘/var/log/messages‘中查找关键词"Aug"
grep ^Aug /var/log/messages 在文件 ‘/var/log/messages‘中查找以"Aug"开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages‘ 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 ‘/var/log‘ 及随后的目录中搜索字符串"Aug"
sed ‘s/stringa1/stringa2/g‘ example.txt 将example.txt文件中的 "string1" 替换成 "string2"
sed ‘/^$/d‘ example.txt 从example.txt文件中删除所有空白行
sed ‘

网络 - (以太网和WIFI无线

ifconfig eth0    显示一个以太网卡的配置 

ifup eth0    启用一个 'eth0' 网络设备 

ifdown eth0    禁用一个 'eth0' 网络设备 

ifconfig eth0 192.168.1.1 netmask 255.255.255.0    控制IP地址 

ifconfig eth0 promisc    设置 'eth0' 成混杂模式以嗅探数据包 (sniffing) 

dhclient eth0    以dhcp模式启用 'eth0' 

route -n show routing table 

route add -net 0/0 gw IP_Gateway configura default gateway 

route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16' 

route del 0/0 gw IP_gateway remove static route 

echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing 

hostname show hostname of system 

host www.example.com lookup hostname to resolve name to ip address and viceversa(1) 

nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2) 

ip link show show link status of all interfaces 

mii-tool eth0 show link status of 'eth0' 

ethtool eth0 show statistics of network card 'eth0' 

netstat -tup show all active network connections and their PID 

netstat -tupl show all network services listening on the system and their PID 

tcpdump tcp port 80 show all HTTP traffic 

iwlist scan show wireless networks 

iwconfig eth1 show configuration of a wireless network card 

hostname show hostname 

host www.example.com lookup hostname to resolve name to ip address and viceversa 

nslookup www.example.com lookup hostname to resolve name to ip address and viceversa 

whois www.example.com lookup on Whois database 

 

 

JPS工具

jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

    我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。

     使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有的话,到改程序的目录下打) 。

jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path.

$> jps

23991 Jps

23789 BossMain

23651 Resin

比较常用的参数:

-q 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数

$>jps -q

28680

23789

23651

-m 输出传递给main 方法的参数,在嵌入式jvm上可能是null

$>jps -m

28715 Jps -m

23789 BossMain

23651 Resin -socketwait 32768 -stdout /data/aoxj/resin/log/stdout.log -stderr /data/aoxj/resin/log/stderr.log

-l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名

$>jps -l

28729 sun.tools.jps.Jps

23789 com.asiainfo.aimc.bossbi.BossMain

23651 com.caucho.server.resin.Resin

-v 输出传递给JVM的参数

$>jps -v

23789 BossMain

28802 Jps -Denv.class.path=/data/aoxj/bossbi/twsecurity/java/trustwork140.jar:/data/aoxj/bossbi/twsecurity/java/:/data/aoxj/bossbi/twsecurity/java/twcmcc.jar:/data/aoxj/jdk15/lib/rt.jar:/data/aoxj/jd

k15/lib/tools.jar -Dapplication.home=/data/aoxj/jdk15 -Xms8m

23651 Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -

Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl

sudo jps看到的进程数量最全

jps 192.168.0.77

列出远程服务器192.168.0.77机器所有的jvm实例,采用rmi协议,默认连接端口为1099

(前提是远程服务器提供jstatd服务)

注:jps命令有个地方很不好,似乎只能显示当前用户的java进程,要显示其他用户的还是只能用unix/linux的ps命令。

详细情况请参考sun官方文档。

http://java.sun.com/j2se/1.7.0/docs/tooldocs/share/jps.html

GO TOP INDEX ^

Microsoft Windows networks (SAMBA)

nbtscan ip_addr netbios name resolution

nmblookup -A ip_addr netbios name resolution

smbclient -L ip_addr/hostname show remote shares of a windows host

smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share

passwd  用来更改使用者的密码

系统管理命令

例:passwd pd    #设置pd用户的密码

stat              显示指定文件的详细信息,比ls更详细

 

who               显示在线登陆用户

usermod  用来修改用户帐号的各项设定

whoami          显示当前操作用户

 

hostname      显示主机名

ls  用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)

uname           显示系统信息

语法:ls -al name

top                动态显示当前耗费资源最多进程信息

      ls -i /pd.txt    #查看pd.txt的inode号

ps                  显示瞬间进程状态 ps -aux

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)

du                  查看目录大小 du -h /home带有单位显示目录信息

-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

df                  查看磁盘大小 df -h 带有单位显示磁盘信息

 

ifconfig          查看网络情况

pwd 用于显示工作目录;执行pwd指令可立刻得知您目前所在的工作目录的绝

ping                测试网络连通

对路径名称

netstat          显示网络状态信息

 

man                命令不会用了,找男人  如:man ls

cp  主要用于复制文件或目录

clear              清屏

 

alias               对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

mv  用来为文件或目录改名、或将文件或目录移入其它位置

kill                 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

例:mv aa bb    #将文件aa更名为bb

 

mv info/ logs    #将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs

打包压缩相关命令

 

gzip:

mkdir  用于建立名称为dirName之子目录

bzip2:

参数:-p 确保目录名称存在,不存在的就建一个

tar:                打包压缩

例:mkdir aa    #在工作目录下,建立一个名为aa的子目录

     -c              归档文件

mkdir -p bb/Test    #在工作目录下的bb目录中,建立一个名为 Test 的子目录;若bb目录原本不存在,则建立一个;(注:本例若不加 -p,且原本bb目录不存在,则产生错误)

     -x              压缩文件

 

     -z              gzip压缩文件

touch  用于修改文件或者目录的时间属性,包括存取时间和更改时间;若文件不存在,系统会建立一个新的文件;ls -l 可以显示档案的时间记录

     -j              bzip2压缩文件

例:touch text.txt    #新建text.txt

     -v              显示压缩或解压缩过程 v(view)

    touch {1..9}.txt    #相当于9条命令,新建1.txt到9.txt

     -f              使用档名

 

例:

rm  用于删除一个文件或者目录

tar -cvf /home/abc.tar /home/abc              只打包,不压缩

rm text.txt    #删除文件text.txt

tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩

rm -r homework    #删除目录homework

tar -jcvf /home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩

rm -r *    #删除当前目录下的所有文件及目录

当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。

 

 

#删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"

关机/重启机器

文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令

shutdown

 

     -r             关机重启

cat  用于连接文件并打印到标准输出设备上

     -h             关机不重启

例:cat text.txt    #查看text.txt里面的内容

     now          立刻关机

 

halt               关机

head  指定显示头部内容的文件列表

reboot          重启

例:head -n file    #显示file文件的前n行(不带-n默认显示10行)

 

 

Linux管道

tail  可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件;tail -f file会把 file文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 file更新就可以看到最新的文件内容

将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

例:tail -n file    #显示file文件的后n行(不带-n默认显示10行)

例:grep -r "close" /home/* | more       在home目录下所有文件中查找,包括close的文件,并分页输出。

tail -f file    #跟踪名为file文件的增长情况

 

 

Linux软件包管理

more  命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h

dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。

例:more n file    #从第n行开始显示file文档内容

比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

 

sudo dpkg -i tree_1.5.3-1_i386.deb         安装软件

less  与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件

sudo dpkg -r tree                                     卸载软件

 

 

groupadd  用于创建一个新的工作组,新工作组的信息将被添加到系统文件中

注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

 

APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。

groupmod  用于更改群组识别码或名称

依然以tree为例

[root@w3cschool.cc ~]# groupadd linuxso

sudo apt-get install tree                         安装tree

[root@w3cschool.cc ~]# tail -1 /etc/group

sudo apt-get remove tree                       卸载tree

linuxso:x:500:

sudo apt-get update                                 更新软件

[root@w3cschool.cc ~]# groupmod -n linux linuxso

sudo apt-get upgrade        

[root@w3cschool.cc ~]# tail -1 /etc/group

 

linux:x:500:

将.rpm文件转为.deb文件

 

.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。

chgrp  用于变更文件或目录的所属群组;在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可

sudo alien abc.rpm

 

 

chown  Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者;利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符;一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人;只有系统管理者(root)才有这样的权限

vim使用

说明:chown 属主.属组 参数    #改属主属组

vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

      chown 属主 参数    #只改属主

命令模式下:

      chown .属组 参数    #只改属组

:q                      退出

      chown -R属主.属组 text(text/aa/bb/)    #递归改text目录及目录下所有文件的属主属组(递归改bb目录及目录下所有文件的属主属组)

:q!                     强制退出

 

:wq                   保存并退出

chmod  Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他;利用 chmod 可以藉以控制文件如何被他人所调用

:set number     显示行号

  1. u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group者,o 表示其他以外的人,a 表示这三者皆是
  2. r(4)表示可读取,w(2)表示可写入,x(1)表示可执行

:set nonumber  隐藏行号

例:chmod -R file    #对file目录下的所有与子目录进行相同的权限变更(即以递回的方式逐个变更)

/apache            在文档中查找apache 按n跳到下一个,shift n上一个

    chmod 777 file    #对file文件u、g、o的权限改为可读可写可执行

yyp                   复制光标所在行,并粘贴

 

h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

./  运行命令

 

 

用户及用户组管理

Linux下可以用 ll 命令来判断文件类型,主要是根据每行的首个字符来判断:

/etc/passwd    存储用户账号

例:ll -d tmp/aa/bb/cc/    #查看cc目录的权限信息(-d专门用来查看目录文件类型)

/etc/group       存储组账号

-rw-r--r--    #” - ”开头的都是普通文件

/etc/shadow    存储用户账号的密码

drw-r--r--    #” d ”开头的是目录文件

/etc/gshadow  存储用户组账号的密码

brw-r--r--    #” b ”开头的文件都是块设备文件

useradd 用户名

crw-r--r--    #” c ”开头的文件都是字符设备文件

userdel 用户名

srw-r--r--    #” s ”开头的文件都是socket文件

adduser 用户名

prw-r--r--    #” p “开头的文件都是管道文件

groupadd 组名

lrw-r--r--    #” l ”开头的文件都是软链接文件

groupdel 组名

 

passwd root     给root设置密码

>  左边的内容覆盖右边的内容

su root

>>  左边的内容追加给右边的内容

su - root 

 

/etc/profile     系统环境变量

wc  可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据

bash_profile     用户环境变量

例:wc -l /etc/passwd    #显示passwd文件有多少行

.bashrc              用户环境变量

 

su user              切换用户,加载配置文件.bashrc

tar  用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件

su - user            切换用户,加载配置文件/etc/profile ,加载bash_profile

 澳门新萄京官方网站 2

更改文件的用户及用户组

参数:-c或--create建立新的备份文件

sudo chown [-R] owner[:group] {File|Directory}

-v或--verbose显示指令执行过程

例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop

-f<备份文件>或--file=<备份文件>指定备份文件

要想切换此文件所属的用户及组。可以使用命令。

 

sudo chown root:root jdk-7u21-linux-i586.tar.gz

#查看test.tar文件里的内容

 

参数:-t或--list 列出备份文件的内容

文件权限管理

澳门新萄京官方网站 3

三种基本权限

澳门新萄京官方网站 4

R           读         数值表示为4

 #解开(不是解压)文件以及解开到opt目录下

W          写         数值表示为2

 

X           可执行  数值表示为1

gzip  是个使用广泛的压缩程序命令,文件经它压缩过后,其名称后面会多出".gz"的扩展名

 

 澳门新萄京官方网站 5

如图所示,jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r--

 

-rw-rw-r--一共十个字符,分成四段。

gunzip  是个使用广泛的解压缩程序命令,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为".gz";事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成

第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录

 

第二三四个字符“rw-”表示当前所属用户的权限。   所以用数值表示为4 2=6

bzip2  采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好;若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件

第五六七个字符“rw-”表示当前所属组的权限。      所以用数值表示为4 2=6

 澳门新萄京官方网站 6

第八九十个字符“r--”表示其他用户权限。              所以用数值表示为2

参数:-v或--verbose压缩或解压缩文件时,显示详细的信息

所以操作此文件的权限用数值表示为662 

 

更改权限

bunzip2  可解压缩.bz2格式的压缩文件;bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同

sudo chmod [u所属用户  g所属组  o其他用户  a所有用户]  [ 增加权限  -减少权限]  [r  w  x]   目录名 

 澳门新萄京官方网站 7

例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

 

sudo chmod u x g w o r  filename

Ctrl a  光标移动到该跳命令首部

上面的例子可以用数值表示

Ctrl e  光标移动到该调命令尾部

sudo chmod 765 filename

Ctrl c  取消当前命令

 

 

文件和目录

ps   用于显示当前进程 (process) 的状态

cd /home 进入 '/ home' 目录'

例:ps aux |grep “bash” |grep -v  “grep”

cd .. 返回上一级目录

 

cd ../.. 返回上两级目录

Kill  用于删除执行中的程序或工作

cd 进入个人的主目录

例:kill -9 123456    #强制杀死123456进程

cd ~user1 进入个人的主目录

 

cd - 返回上次所在的目录

vi/vim  所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在;但是目前我们使用比较多的是 vim 编辑器;vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计

pwd 显示工作路径

 

ls 查看目录中的文件

vi、vim编辑器有三种模式:命令行模式、编辑模式、扩展模式

ls -F 查看目录中的文件

命令行模式:

ls -l 显示文件和目录的详细资料

a、i、o  进入编辑状态

ls -a 显示隐藏文件

u  复原上一步操作

ls *[0-9]* 显示包含数字的文件名和目录名

dd  删除光标所在的那一行

澳门新萄京官方网站,tree 显示文件和目录由根目录开始的树形结构(1)

ndd  n为数字,删除光标所在的向下n行;例如5dd则是删除5行

lstree 显示文件和目录由根目录开始的树形结构(2)

yy  复制所在光标的那一行

mkdir dir1 创建一个叫做 'dir1' 的目录'

nyy  n为数字,复制光标所在的向下n行,例如5yy则是复制5行

mkdir dir1 dir2 同时创建两个目录

p(小写)  将已复制的数据在光标下一行黏贴

mkdir -p /tmp/dir1/dir2 创建一个目录树

P(大写)  将已复制的数据在光标上一行黏贴

rm -f file1 删除一个叫做 'file1' 的文件'

ctrl r  重做上一步操作

rmdir dir1 删除一个叫做 'dir1' 的目录'

使用复制命令后np  n为数字,将已复制的数据在光标上/下一行黏贴n行

rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容

使用删除命令后按p  可以理解为剪切再粘贴

rm -rf dir1 dir2 同时删除两个目录及它们的内容

0  光标移动到该行的行首

mv dir1 new_dir 重命名/移动 一个目录

$  光标移动到该行的行尾

cp file1 file2 复制一个文件

G  光标移动到这个文件的最后一行

cp dir/* . 复制一个目录下的所有文件到当前工作目录

nG  n为数字,光标移动到这个文件的第n行;例如5G则是移动到第5行

cp -a /tmp/dir1 . 复制一个目录到当前工作目录

gg  移动到这个文件的第一行,相当于1G

cp -a dir1 dir2 复制一个目录

H  光标移动到这个屏幕的最上方那一行的第一个字符

ln -s file1 lnk1 创建一个指向文件或目录的软链接

M  光标移动到这个屏幕的中央那一行的第一个字符

ln file1 lnk1 创建一个指向文件或目录的物理链接

L  光标移动到这个屏幕的最下方那一行的第一个字符

touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)

扩展模式:

file file1 outputs the mime type of the file as text

Esc:wq!  w为保存  q为退出    !为强制

iconv -l 列出已知的编码

set nu  显示文件行号

iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.

 

find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

Linux系统引导顺序:bios--->mbr--->grub--->kernel--->init

 

 

 

fdisk  是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表

 

例:fdisk -l /dev/sda    #创建分区

文件搜索

 

find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录

mksf  用于在特定的分区上建立 linux 文件系统(格式化)

find / -user user1 搜索属于用户 'user1' 的文件和目录

例:mkfs.ext4 /dev/sda4    #将sda4分区格式化为ext4格式

find /home/user1 -name *.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件

 

find /usr/bin -type f -atime 100 搜索在过去100天内未被使用过的执行文件

mount   用于挂载Linux系统外的文件

find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件

例:mount /dev/hda1 /mnt     #将 /dev/hda1 挂在 /mnt 之下

find / -name *.rpm -exec chmod 755 '{}' ; 搜索以 '.rpm' 结尾的文件并定义其权限

    mount -o ro /dev/hda1 /mnt     #将 /dev/hda1 用唯读模式挂在 /mnt 之下

find / -xdev -name *.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备

mount -o rw /dev/hda1 /mnt     #将 /dev/hda1 用可读写模式挂在 /mnt 之下

locate *.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令

 

whereis halt 显示一个二进制文件、源码或man的位置

何为挂载?

which halt 显示一个二进制文件或可执行文件的完整路径

在linux操作系统中,挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上;我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备

 

 澳门新萄京官方网站 8

 

 

 

umount  用于卸除文件系统;可卸除目前挂在Linux目录中的文件系统

挂载一个文件系统

 澳门新萄京官方网站 9

mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在

 

umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出

df  用于显示目前在Linux系统上的文件系统的磁盘使用情况统计

fuser -km /mnt/hda2 当设备繁忙时强制卸载

 澳门新萄京官方网站 10

umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用

 

mount /dev/fd0 /mnt/floppy 挂载一个软盘

du  用于显示目录或文件的大小;会显示指定的目录或文件所占用的磁盘空间

mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom

 澳门新萄京官方网站 11

mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom

 

mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom

ln  为某一个文件在另外一个位置建立一个同步的链接;当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间

mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件

ln软链接:

mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统

格式:ln -s 源路径 目标路径

mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备

特点:1.相当于win中的快捷方式

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

      2.删除链接文件,源文件无影响

 

      3.删除源文件,链接文件失效

 

      4.修改源文件/链接文件,内容都变

 

      5.软链接是指向文件名的

磁盘空间

澳门新萄京官方网站 12

df -h 显示已经挂载的分区列表

 澳门新萄京官方网站 13

ls -lSr |more 以尺寸大小排列文件和目录

澳门新萄京官方网站 14

du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'

澳门新萄京官方网站 15

du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小

软链接中:source.txt和dex.txt的inode号不同

rpm -q -a --qf '{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)

澳门新萄京官方网站 16

dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

 

 

ln硬链接:

返回顶部索引 ^

格式:ln 源路径 目标路径

 

特点:1.删除链接文件,源文件无影响

用户和群组

      2.删除源文件,链接文件无影响

groupadd group_name 创建一个新用户组

      3.修改源文件/链接文件,内容都改

groupdel group_name 删除一个用户组

      4.硬链接执行inode号

groupmod -n new_group_name old_group_name 重命名一个用户组

澳门新萄京官方网站 17

useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户

硬链接中:a.txt和b.txt的inode号相同

useradd user1 创建一个新用户

澳门新萄京官方网站 18

userdel -r user1 删除一个用户 ( '-r' 排除主目录)

 

usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性

软链接可以跨分区;硬链接中a.txt和new.txt的inode号可以一样,但是他们在不同分区中,导致不在同一个block块,所以硬链接不可以跨分区

passwd 修改口令

澳门新萄京官方网站 19

passwd user1 修改一个用户的口令 (只允许root执行)

 

chage -E 2005-12-31 user1 设置用户口令的失效期限

用4段8位二进制数表示ip地址

pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户

澳门新萄京官方网站 20

grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组

 

newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

172.16.122.204/16------->16为子网掩码

 

网络地址:172.16.0.0

返回顶部索引 ^

主机地址:172.16.122.204

 

 

文件的权限 - 使用 " " 设置权限,使用 "-" 用于取消

将ip地址中的网络位和主机位固定下来后,ip地址被分成了不同的几类:A类、B类、C类、D类、E类;这里展示前3类

ls -lh 显示权限

澳门新萄京官方网站 21

ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示

 

chmod ugo rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限

特殊ip地址

chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限

澳门新萄京官方网站 22

chown user1 file1 改变一个文件的所有人属性

 

chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性

ifconfig  用于显示或设置网络设备;可设置网络设备的状态,或是显示目前的设置

chgrp group1 file1 改变文件的群组

澳门新萄京官方网站 23

chown user1:group1 file1 改变一个文件的所有人和群组属性

澳门新萄京官方网站 24

find / -perm -u s 罗列一个系统中所有使用了SUID控制的文件

澳门新萄京官方网站 25

chmod u s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限

 

chmod u-s /bin/file1 禁用一个二进制文件的 SUID位

chkconfig  用于检查,设置系统的各种服务

chmod g s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的

澳门新萄京官方网站 26

chmod g-s /home/public 禁用一个目录的 SGID 位

澳门新萄京官方网站 27

chmod o t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件

 

chmod o-t /home/public 禁用一个目录的 STIKY 位

rpm  用于管理套件

 

rpm -ivh package.rpm    #安装一个rpm包

返回顶部索引 ^

rpm -qa    #显示系统中所有已经安装的rpm包

 

rpm -e package_name.rpm    #删除一个rpm包

文件的特殊属性 - 使用 " " 设置权限,使用 "-" 用于取消

 

chattr a file1 只允许以追加方式读写文件

yum  是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器;基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装;yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

chattr c file1 允许这个文件能被内核自动压缩/解压

yum install package_name    #下载并安装一个rpm包

chattr d file1 在进行文件系统备份时,dump程序将忽略这个文件

yum remove package_name    #删除一个rpm包

chattr i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接

yum update package_name.rpm    #更新当前系统中所有安装的rpm包 

chattr s file1 允许一个文件被安全地删除

yum update package_name    #更新一个rpm包

chattr S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘

 

chattr u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件

Linux部署apache服务的步骤:示例

lsattr 显示特殊的属性

1.准备环境

 

      关闭防火墙:service iptables stop(chkconfig iptables off)

返回顶部索引 ^

      关闭selinux:setenforce 0(SELINUX=disabled)

 

      配置ip:vi /etc/sysconfig/network-scripts/ifcfg-eth0

打包和压缩文件

2.安装软件包:yum install httpd -y

bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件

3.修改配置文件:vim /etc/httpd/conf/httpd.conf  #记住Listen和DocumentRoot

bzip2 file1 压缩一个叫做 'file1' 的文件

          cd /var/www/html/(DocumentRoot)

gunzip file1.gz 解压一个叫做 'file1.gz'的文件

          touch test.txt

gzip file1 压缩一个叫做 'file1'的文件

          echo “部署服务” > test.txt

gzip -9 file1 最大程度压缩

          echo “默认页面” > index.html

rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包

4.重启服务:service httpd restart

rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'

5.打开浏览器:

rar x file1.rar 解压rar包

unrar x file1.rar 解压rar包

tar -cvf archive.tar file1 创建一个非压缩的 tarball

tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件

tar -tf archive.tar 显示一个包中的内容

tar -xvf archive.tar 释放一个包

tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下

tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包

tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包

tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包

tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包

zip file1.zip file1 创建一个zip格式的压缩包

zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

unzip file1.zip 解压一个zip格式压缩包

 

返回顶部索引 ^

 

RPM 包 - (Fedora, Redhat及类似系统)

rpm -ivh package.rpm 安装一个rpm包

rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告

rpm -U package.rpm 更新一个rpm包但不改变其配置文件

rpm -F package.rpm 更新一个确定已经安装的rpm包

rpm -e package_name.rpm 删除一个rpm包

rpm -qa 显示系统中所有已经安装的rpm包

rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包

rpm -qi package_name 获取一个已安装包的特殊信息

rpm -qg "System Environment/Daemons" 显示一个组件的rpm包

rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表

rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表

rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表

rpm -q package_name --whatprovides 显示一个rpm包所占的体积

rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l

rpm -q package_name --changelog 显示一个rpm包的修改历史

rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供

rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表

rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书

rpm --checksig package.rpm 确认一个rpm包的完整性

rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性

rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间

rpm -Va 检查系统中所有已安装的rpm包- 小心使用

rpm -Vp package.rpm 确认一个rpm包还未安装

rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包

rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

 

返回顶部索引 ^

 

YUM 软件包升级器 - (Fedora, RedHat及类似系统)

yum install package_name 下载并安装一个rpm包

yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系

yum update package_name.rpm 更新当前系统中所有安装的rpm包

yum update package_name 更新一个rpm包

yum remove package_name 删除一个rpm包

yum list 列出当前系统中安装的所有包

yum search package_name 在rpm仓库中搜寻软件包

yum clean packages 清理rpm缓存删除下载的包

yum clean headers 删除所有头文件

yum clean all 删除所有缓存的包和头文件

 

返回顶部索引 ^

 

DEB 包 (Debian, Ubuntu 以及类似系统)

dpkg -i package.deb 安装/更新一个 deb 包

dpkg -r package_name 从系统删除一个 deb 包

dpkg -l 显示系统中所有已经安装的 deb 包

dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包

dpkg -s package_name 获得已经安装在系统中一个特殊包的信息

dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表

dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表

dpkg -S /bin/ping 确认所给的文件由哪个deb包提供

 

返回顶部索引 ^

 

APT 软件工具 (Debian, Ubuntu 以及类似系统)

apt-get install package_name 安装/更新一个 deb 包

apt-cdrom install package_name 从光盘安装/更新一个 deb 包

apt-get update 升级列表中的软件包

apt-get upgrade 升级所有已安装的软件

apt-get remove package_name 从系统删除一个deb包

apt-get check 确认依赖的软件仓库正确

apt-get clean 从下载的软件包中清理缓存

apt-cache search searched-package 返回包含所要搜索字符串的软件包名称

 

返回顶部索引 ^

 

查看文件内容

cat file1 从第一个字节开始正向查看文件的内容

tac file1 从最后一行开始反向查看一个文件的内容

more file1 查看一个长文件的内容

less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作

head -2 file1 查看一个文件的前两行

tail -2 file1 查看一个文件的最后两行

tail -f /var/log/messages 实时查看被添加到一个文件中的内容

 

返回顶部索引 ^

 

文本处理

cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT

cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中

cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中

grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"

grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇

grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行

grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"

sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"

sed '/^$/d' example.txt 从example.txt文件中删除所有空白行

sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行

echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容

sed -e '1d' result.txt 从文件example.txt 中排除第一行

sed -n '/stringa1/p' 查看只包含词汇 "string1"的行

sed -e 's/ *$//' example.txt 删除每一行最后的空白字符

sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部

sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容

sed -n '5p;5q' example.txt 查看第5行

sed -e 's/00*/0/g' example.txt 用单个零替换多个零

cat -n file1 标示文件的行数

cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行

echo a b c | awk '{print $1}' 查看一行第一栏

echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏

paste file1 file2 合并两个文件或两栏的内容

paste -d ' ' file1 file2 合并两个文件或两栏的内容,中间用" "区分

sort file1 file2 排序两个文件的内容

sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)

sort file1 file2 | uniq -u 删除交集,留下其他的行

sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)

comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容

comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容

comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

 

返回顶部索引 ^

 

 

字符设置和文件格式转换

dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX

unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS

recode ..HTML < page.txt > page.html 将一个文本文件转换成html

recode -l | more 显示所有允许的转换格式

 

返回顶部索引 ^

 

文件系统分析

badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块

fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性

fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性

e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性

e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性

fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性

fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性

fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

 

返回顶部索引 ^

 

初始化一个文件系统

mkfs /dev/hda1 在hda1分区创建一个文件系统

mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统

mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统

mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统

fdformat -n /dev/fd0 格式化一个软盘

mkswap /dev/hda3 创建一个swap文件系统

 

返回顶部索引 ^

 

SWAP文件系统

mkswap /dev/hda3 创建一个swap文件系统

swapon /dev/hda3 启用一个新的swap文件系统

swapon /dev/hda2 /dev/hdb3 启用两个swap分区

 

返回顶部索引 ^

 

备份

dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份

dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份

restore -if /tmp/home0.bak 还原一个交互式备份

rsync -rogpav --delete /home /tmp 同步两边的目录

rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync

rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录

rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录

dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作

dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件

tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作

( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容

( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录

tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接

find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录

find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包

dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作

dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容

 

返回顶部索引 ^

 

光盘

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容

mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件

mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件

mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件

cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件

gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件

mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件

cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中

cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)

cdrecord --scanbus 扫描总线以识别scsi通道

dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD

 

返回顶部索引 ^

 

网络 - (以太网和WIFI无线)

ifconfig eth0 显示一个以太网卡的配置

ifup eth0 启用一个 'eth0' 网络设备

ifdown eth0 禁用一个 'eth0' 网络设备

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址

ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)

dhclient eth0 以dhcp模式启用 'eth0'

route -n show routing table

route add -net 0/0 gw IP_Gateway configura default gateway

route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'

route del 0/0 gw IP_gateway remove static route

echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing

hostname show hostname of system

host www.example.com lookup hostname to resolve name to ip address and viceversa(1)

nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)

ip link show show link status of all interfaces

mii-tool eth0 show link status of 'eth0'

ethtool eth0 show statistics of network card 'eth0'

netstat -tup show all active network connections and their PID

netstat -tupl show all network services listening on the system and their PID

tcpdump tcp port 80 show all HTTP traffic

iwlist scan show wireless networks

iwconfig eth1 show configuration of a wireless network card

hostname show hostname

host www.example.com lookup hostname to resolve name to ip address and viceversa

nslookup www.example.com lookup hostname to resolve name to ip address and viceversa

whois www.example.com lookup on Whois database

 

GO TOP INDEX ^

Microsoft Windows networks (SAMBA)

nbtscan ip_addr netbios name resolution

nmblookup -A ip_addr netbios name resolution

smbclient -L ip_addr/hostname show remote shares of a windows host

smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share

本文由澳门新萄京官方网站发布于澳门新萄京官方网站,转载请注明出处:常用命令集合,Linux常用命令大全

关键词: