Linux常用基本命令【转】
Linux 基本命令
??Linux是一个基于命令的系统,它有很多很强的命令. 但它也有桌面系统,比如KDE, Gnome等,甚至还有仿windows桌面. 但真正在Linux下面工作的人,却不喜欢这些桌面,独爱命令行. 当你学会了在命令行下工作的时候,会体会到它的强大(黑客大都在命令行下干活的). 要学好使用Linux,得从命令行开始. Les go now.
??Note:这里所讲的都是命令的基本用法,每个命令都有很多参数可用. 如果想了解其复杂使用,可以使用man查看命令帮助. 比如想看ls使用: man ls .
?文件管理的基本命令包括ls, rm, mv, ln, mkdir,touch,cat ....
??-?ls - 是查看文件列表.
???比如:要查看当前目录文件列表: ls.
?????????? 查看根目录文件列表:ls /
????????? 查看文件列表并显示文件属性,包括时间,组, 用户, 权限等: ls -l
????????? 按时间排序: ls -lctr
??如果文件熟悉的前面字符是d,表示是一个目录. 比如:
??drwxr-xr-x? 2 root??? root????? 4096 Apr 16? 2007 filterip
??-rm 删除文件
???比如删除文件a: rm a
??删除目录b: rm -r b
??-mv 移动/改名文件
??比如改名文件名a为b: mv a b
??将文件a移动到目录/tmp: mv a /tmp
??-mkdir 创建目录
??比如创建目录 a: mkdir a
??-touch 修改文件时间/生成新文件
??比如生成一个新的空文件a: touch a
??修改文件b到当前时间: touch b
??-cat 输出文件内容
??比如输出文本文件A.TXT到屏幕: cat A.TXT.
?-ps 查看系统进程
??比如查看当前用户进程: ps
??查看所有进程,包括活动非活动进程: ps -ef.
??查看所有java进程: ps -ef | grep java
??显示的第二列为进程号.
???-kill/killall 终止进程
??比如终止进程号500的进程: kill 500
??比如终止进程名为java的所有进程: killall p1
??-bg/fg 切换进程到后台/前台
??当进程运行在当前命令行的时候,可以按Ctrl+z暂停进程,再用命令bg将进程切换到后台.? 相反,可以用命令fg将进程切换到前台. 有时候用&符号将进程运行在了后台,这个时候可以用fg将其切换到前台来.
??-查询系统进程树
??运行pstree可以输出当前进程树.
?-who 查看登陆的用户
??-adduser 为系统创建新的用户(需要root权限,下同)
??比如增加用户qq: adduser qq;
??增加用户qq,秘密123456: adduser -p 123456 qq
??-passwd修改用户密码
??比如修改qq的密码为666666: passwd qq,系统提示输入旧的密码,再输入新的密码.
??-userdel 删除用户
??比如删除用户qq: userdel aa
??-usermod 修改用户属性
??比如修改qq到admin组:?usermod -p admin?aa
?-top 查看系统资源状况
??top是最常用的查看系统当前状态的工具.可以查看CPU, memory, load等.
??-查看主机CPU信息
??运行cat /proc/cpuinfo, 输出:
??.....
??......
??processor?????? : 3
?vendor_id?????? : GenuineIntel
?cpu family????? : 6
?model?????????? : 15
?model name????? : Intel(R) Xeon(R) CPU??????????? 5120? @ 1.86GHz
?stepping??????? : 6
?cpu MHz???????? : 1862.093
?cache size????? : 4096 KB
?physical id???? : 3
?siblings??????? : 2
?core id???????? : 7
?cpu cores?????? : 2
?fdiv_bug??????? : no
?hlt_bug???????? : no
?f00f_bug??????? : no
?coma_bug??????? : no
?fpu???????????? : yes
?fpu_exception?? : yes
?cpuid level???? : 10
?wp????????????? : yes
?flags?????????? : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 xtpr
?bogomips??????? : 3724.15
??这个表示是第4颗CPU, 这个CPU有2个core, 也就是系统有4个双核的CPU. 如果系统开启了超线程, 则等价于系统有8个CPU. (注: 超线程选项一般在BIOS中开启)
??-查询系统内存信息
??运行cat /proc/meminfo,可以查看当前系统的内存信息:
??MemTotal:????? 4149104 kB
?MemFree:??????? 706788 kB
?Buffers:??????? 220900 kB
?Cached:??????? 2981520 kB
?SwapCached:????????? 0 kB
?Active:??????? 2734120 kB
?Inactive:?????? 572920 kB
?HighTotal:???? 3276448 kB
?HighFree:?????? 608064 kB
?LowTotal:?????? 872656 kB
?LowFree:???????? 98724 kB
?SwapTotal:???? 2096472 kB
?SwapFree:????? 2096472 kB
?Dirty:?????????????? 4 kB
?Writeback:?????????? 0 kB
?Mapped:???????? 129976 kB
?Slab:?????????? 117164 kB
?CommitLimit:?? 4171024 kB
?Committed_AS:? 2507740 kB
?PageTables:?????? 1968 kB
?VmallocTotal:?? 106488 kB
?VmallocUsed:????? 2984 kB
?VmallocChunk:?? 102920 kB
?HugePages_Total:???? 0
?HugePages_Free:????? 0
?Hugepagesize:???? 2048 kB
??-fdisk 查看硬盘分区
??fdisk -l /dev/sda 可以输出硬盘/dev/sda的分区列表,比如输出类似:
??Disk /dev/sda: 72.7 GB, 72746008576 bytes
?255 heads, 63 sectors/track, 8844 cylinders
?Units = cylinders of 16065 * 512 = 8225280 bytes
???? Device Boot????? Start???????? End????? Blocks?? Id? System
?/dev/sda1?? *?????????? 1????????? 16????? 128488+? 83? Linux
?/dev/sda2????????????? 17???????? 526???? 4096575?? 83? Linux
?/dev/sda3???????????? 527???????? 787???? 2096482+? 82? Linux swap
?/dev/sda4???????????? 788??????? 8844??? 64717852+?? 5? Extended
?/dev/sda5???????????? 788??????? 2062??? 10241406?? 83? Linux
?/dev/sda6??????????? 2063??????? 2572???? 4096543+? 83? Linux
?/dev/sda7??????????? 2573??????? 3082???? 4096543+? 83? Linux
?/dev/sda8??????????? 3083??????? 3569???? 3911796?? 83? Linux
?/dev/sda9??????????? 3570??????? 8844??? 42371406?? 83? Linux
??这里可以看出,/dev/sda硬盘被分成了9个区, 带*号的是启动分区.
???
???-df 查看在用文件系统
??运行df -h, 输出类似:
??Filesystem??????????? Size? Used Avail Use% Mounted on
?/dev/sda2???????????? 3.9G? 278M? 3.4G?? 8% /
?/dev/sda1???????????? 122M?? 17M?? 99M? 15% /boot
?/dev/sda9????????????? 40G?? 21G?? 17G? 56% /home
?/dev/sda8???????????? 3.7G?? 40M? 3.5G?? 2% /opt
?none????????????????? 2.0G???? 0? 2.0G?? 0% /dev/shm
?/dev/sda6???????????? 3.9G?? 40M? 3.7G?? 2% /tmp
?/dev/sda5???????????? 9.7G? 5.4G? 3.8G? 59% /usr
?/dev/sda7???????????? 3.9G? 1.2G? 2.5G? 32% /var
?192.168.206.231:/opt/taobao??????????????????? 3.9G? 3.2G? 537M? 86% /opt/taobao
?192.168.206.231:/home/admin/cms?????????40G? 3.8G?? 34G? 11% /opt/cms
?192.168.206.231:/home/admin/htdocs?????40G? 3.8G?? 34G? 11% /opt/htdocs
?10.1.6.131:/home/images???????????????????????? 167G?? 83G?? 76G? 53% /opt/images
?10.1.6.131:/home/imagesvr????????????????????? 167G?? 83G?? 76G? 53% /mnt
??每个/dev/xxx代表一个分区. 同时,这里还有远程文件系统. 百分比代表已经使用的空间比例.
???-查询系统有几个网卡
??运行 lspci | grep Ethernet, 输出类似:
??05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
??有几条记录就是几个网卡.
??想进一步查看网卡信息,运行 lspci -vv -s?05:00.0
??-hdparm查看硬盘信息
??比如查看硬盘hda转速, 运行hdparm -i /dev/hda,
???-查询系统usb接口信息
??运行命令lsusb可以知道当前系统有几个usb接口,比如输出:
??Bus 004 Device 001: ID 0000:0000
?Bus 003 Device 001: ID 0000:0000
?Bus 002 Device 001: ID 0000:0000
?Bus 001 Device 002: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub"
?Bus 001 Device 001: ID 0000:0000
??表示有5个usb接口可用.