Linux下的命令不计其数,为用户提供了非常强大的功能,但对于初学者如何先掌握最基本的以满足自己的工作需要呢?这里我把自己进入Linux环境下最先接触到的命令总结一下。只了解下面的命令是远远不够的,但是它首先能让你工作起来,不至于到了Linux下就不知所措。
1. cd
目录跳转
用法举例:
(1)cd test 进入test子目录
(2)cd ..
进入上一级目录
(3)cd /
进入根目录
2. ls
列出当前目录下的文件和子目录
用法举例:
(1)ls列出当前目录下的文件和子目录
(2)ls –a 列出所有的(包括隐藏文件和目录)
(3)ls –l 以列表方式列出
3. vi
文件编辑器
参见后面的详细介绍;
4. mkdir
创建子目录
用法举例:
(1)mkdir test 在当前目录下创建test子目录
(2)mkdir /test 在根目录下创建test子目录
5. rmdir
删除目录
用法举例:
(1)rmdir test 删除test子目录(该目录必须为空)
6. rm
删除文件或文件夹
用法举例:
(1)rm test.c 删除test.c文件(以询问方式,输入y确认删除,输入n取消)
(2)rm –f test.c 直接删除test.txt(不询问)
(3)rm –rf test 删除test文件夹及其下的所有文件
7. cp
拷贝文件或文件夹
用法举例:
(1)cp test.c test1.c 在当前目录复制test.c,复制后的文件命名为test1.c
(2)cp test.c /test/test.c 将当前目录下的test.c拷贝到test目录下
8. pwd
显示当前所在的路径
用法举例:
(1)pwd
9. ps 查看系统进程信息
用法举例:
(1)ps 查看系统所有进程
(2)ps –ef 显示更为详细的进程信息
10. grep
功能:查找
用法举例:
(1)grep printf test.c 在test.c文件中查找是否含有printf字符串
(2)ps –ef | grep httpd 查看当前名为httpd的进程信息
(3)使用’-i'选项将忽略大小写
root@tecmint:~# grep -i TECMINT /etc/passwd tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash
使用’-r'选项递归搜索所有自目录下包含字符串 “127.0.0.1“.的行
root@tecmint:~# grep -r "127.0.0.1" /etc/ /etc/vlc/lua/http/.hosts:127.0.0.1 /etc/speech-dispatcher/modules/ivona.conf:#IvonaServerHost "127.0.0.1" /etc/mysql/my.cnf:bind-address = 127.0.0.1 /etc/apache2/mods-available/status.conf: Allow from 127.0.0.1 ::1 /etc/apache2/mods-available/ldap.conf: Allow from 127.0.0.1 ::1 /etc/apache2/mods-available/info.conf: Allow from 127.0.0.1 ::1 /etc/apache2/mods-available/proxy_balancer.conf:# Allow from 127.0.0.1 ::1 /etc/security/access.conf:#+ : root : 127.0.0.1 /etc/dhcp/dhclient.conf:#prepend domain-name-servers 127.0.0.1; /etc/dhcp/dhclient.conf:# option domain-name-servers 127.0.0.1; /etc/init/network-interface.conf: ifconfig lo 127.0.0.1 up || true /etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1). /etc/java-6-openjdk/net.properties:# http.nonProxyHosts=localhost|127.0.0.1 /etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1). /etc/java-6-openjdk/net.properties:# ftp.nonProxyHosts=localhost|127.0.0.1 /etc/hosts:127.0.0.1 localhost
注意:您还可以使用以下选项:
- -w 搜索单词 (egrep -w ‘word1|word2‘ /path/to/file).
- -c 用于统计满足要求的行 (i.e., total number of times the pattern matched) (grep -c ‘word‘ /path/to/file).
- –color 彩色输出 (grep –color server /etc/passwd).
11. gcc 程序编译器
参加后面的详细介绍;
12. man 使用手册
用法举例:
(1)man vi
(2)man gcc
下面对vi和gcc做一个简单的介绍,仅限于满足你最基本的需要。
vi 文本编辑器
(1)vi test.c 创建(如果存在就默认打开)test.c文件,并进入文本编辑器
(2):q
没有修改直接退出
(3)i
进入vi以后,键入i进入插入模式就可以输入文件
(4):wq 退出并保存修改
(5):q!
退出不保存修改
(6)dd
删除当前行
(7)yy
拷贝当前行
(8)p
粘贴
(9):w
保存修改(不退出vi)
(0)a
进入vi以后,键入a进入追加模式就可以输入文件
gcc编译器
(1) gcc test.c 编译test.c,并生成默认a.out的可执行文件
(2) ./a.out 执行程序a.out
(3) gcc –c test.c 将test.c编译成目标文件test.o
(4) gcc –o test test.o 将目标文件生成可执行文件test
(5) gcc test.c –o test 编译test.c,并直接生成test可执行文件
13.Linux下查看文件和文件夹大小:
du –sh dirname
如果查看某个目录下所有文件及文件的大小:
du –sh *
按照文件大小排序
du –sh * |sort –n
14.netstat是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。下面简单记录一下平时经常使用的例子。
14.1. 查看本地的某个端口是否打开
比如查看本地的8080端口是否打开,netstat -an|grep 8080
14.2. 查看本机与其他特定主机是否有连接
比如查看本机与10.56.234.31是否有连接,netstat -an|grep 10.56.234.31
如果想查看这样的连接有多少个,可以, netstat -an|grep 10.56.234.31 |wc -l
15搜索指定目录下的文件,从开始于父目录,然后搜索子目录
root@tecmint:~# find -name *.sh ./Desktop/load.sh ./Desktop/test.sh ./Desktop/shutdown.sh ./Binary/firefox/run-mozilla.sh ./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh ./Downloads/kdewebdev-3.5.8/admin/doxygen.sh ./Downloads/kdewebdev-3.5.8/admin/cvs.sh ./Downloads/kdewebdev-3.5.8/admin/ltmain.sh ./Downloads/wheezy-nv-install.sh
注意: `-name‘选项是搜索大小写敏感。可以使用`-iname‘选项,这样在搜索中可以忽略大小写。(*是通配符,可以搜索所有的文件;‘.sh‘你可以使用文件名或者文件名的一部分来制定输出结果)
root@tecmint:~# find -iname *.SH ( find -iname *.Sh / find -iname *.sH) ./Desktop/load.sh ./Desktop/test.sh ./Desktop/shutdown.sh ./Binary/firefox/run-mozilla.sh ./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh ./Downloads/kdewebdev-3.5.8/admin/doxygen.sh ./Downloads/kdewebdev-3.5.8/admin/cvs.sh ./Downloads/kdewebdev-3.5.8/admin/ltmain.sh ./Downloads/wheezy-nv-install.sh
root@tecmint:~# find -name *.tar.gz /var/www/modules/update/tests/aaa_update_test.tar.gz ./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz ./home/server/Downloads/drupal-7.22.tar.gz ./home/server/Downloads/smtp-7.x-1.0.tar.gz ./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz ./usr/share/gettext/archive.git.tar.gz ./usr/share/doc/apg/php.tar.gz ./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz ./usr/share/doc/argyll/examples/spyder2.tar.gz ./usr/share/usb_modeswitch/configPack.tar.gz
注意:以上命令查找根目录下和所有文件夹以及加载的设备的子目录下的所有包含‘tar.gz'的文件。