对于刚刚开始使用linux的初学者来说,命令行无疑是必须掌握的技能,极大的方便了对于系统的操作。笔者在使用过程中记录下一些常用操作,总结在这里。由于刚开始使用命令行可能难以记忆,这里给出每个命令的英文全拼。
文件/目录操作
cd--change directory
cd [dirName] 进入dirName目录;
cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. 返回上两级目录;
cd !$ 把上个命令的参数作为cd参数使用。
mkdir--make directory
创建指定的目录名,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
mkdir [OPTION] dir-name
cp--copy
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。
cp [OPTION] 源文件或目录 目标文件或目录
rm--remove
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
rm [OPTION]... FILE...
mv--move
移动文件或者将文件改名
mv [OPTION] 源文件或目录 目标文件或目录
pwd--print working direcory
打印当前的工作目录
pwd -P:如果当前的工作路径是链接的话,显示链接的原始路径,也就是实际路径。
pwd -L:与pwd -P完全相反,显示链接路径。
ls--list
列出目录下的文件
- ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
- ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
- ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。"@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。
- ls -s 在每个文件的后面打印出文件的大小。 size(大小)
- ls -t 按时间进行文件的排序 Time(时间)
- ls -A 列出除了"."和".."以外的文件。
- ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
- ls -L 列出文件的链接名。Link(链接)
- ls -S 以文件的大小进行排序
输入命令 ls -l t 查看文件 t 的属性,中间是个小写的 L ,其中的字母rwx分别代表读(read)、写(write),还有一个运行x(execute)。
tar
tar [主选项+辅选项] 文件或者目录
主选项
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
辅选项
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
tar -cvf <archive-name.tar> <file1-OR-file2-OR-both-to-archive>
创建对应压缩文件
tar -tvf <archive-to-view.tar>
查看对应压缩文件
tar -xvf <archive-to-extract.tar>
提取对应压缩文件。
tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/
-C 选项提取文件到指定目录(这里是/opt/)。
zip与uzip
zip -r myfile.zip
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件。
zip -r mydata.zip mydata
压缩mydata目录/文件
unzip -o -d /home/sunny myfile.zip
将myfile.zip文件解压到 /home/sunny/。-o:不提示的情况下覆盖文件;-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下。
find
在目录结构中搜索文件,并执行指定的操作。
find ./ -name test
查找名字为test的文件或目录
find /home -name test
在home目录下寻找名字为test的文件或目录
find -type f -name "*.log"
查找所有类型为log的文件
grep--Global Regular Expression Print
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
grep ‘test’ d
显示所有以d开头的文件中包含 test的行。
grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
less
使用 less 浏览文件。
less [参数] 文件
** 参数 **
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -N 显示每行的行号
- -Q 不使用警告音
- -s 显示连续空行为一行
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
** less操作 **
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一行
- 回车键 滚动一页
- [pagedown]: 向下翻动一页
- [pageup]: 向上翻动一页
less log2013.log
查看文件。
ps -ef |less
ps查看进程信息并通过less分页显示。
less log2013.log log2014.log
浏览多个文件。
head与tail
显示开头或结尾某个数量的文字区块
head -6 readme.txt
显示档案的前 6 行
tail -25 mail.txt
显示档案的后25 行
tree
tree命令以树状图列出文件目录结构。
在ubuntu系统中默认是没有tree这个命令的,使用命令sudo apt-get install tree
安装tree命令工具。
tree -d
只显示目录。
tree -L 1
只显示第一层目录。
帐号操作
su--super user
变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
sudo--super user do
sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。
sudo -l
列出目前的权限。
输入命令sudo su
可以将提示符切换到管理员身份,这样就不必每次加上 sudo。
输入 exit
命令返回普通用户。
whoami
who -m的作用和who am i的作用是一样的。
who -q用来显示当前登录用户的个数。
whoami 显示的是有效用户ID。whoami显示的是当前“操作用户”的用户名。
passwd--password
更改使用者的密码。
passwd (选项) (用户名)
** 选项 **
- -d:删除密码,仅有系统管理者才能使用。
- -f:强制执行。
- -k:设置只有在密码过期失效后,方能更新。
- -l:锁住密码。
- -s:列出密码的相关信息,仅有系统管理者才能使用。
- -u:解开已上锁的帐号。
进程管理
ps--process
查看当前进程。
- ps a 显示现行终端机下的所有程序,包括其他用户的程序。
- ps -A 显示所有进程。
- ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
- ps -aux | less通过cpu和内存使用来过滤进程。
- ps -axjf或pstree以树形结构显示进程。
- ps -ef以全格式显示所有进程。
- ps -ef | grep httpd 检查httpd进程是否存在
kill
中止一个进程。
kill -pid
终止ps -ef
中列出的pid进程
系统信息相关
top
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等。
top
每隔5秒显式所有进程的资源占用情况
df--disk free
检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df [选项] [文件]
使用-h选项以KB以上的单位来显示。
使用-a选项查看全部文件系统。
uname
获取电脑和操作系统的相关信息。
网络相关
ping
测试与目标主机的连通性。
ping [参数] [主机名或IP地址]
telnet
用来远程登录。
curl
curl是一个利用URL规则在命令行下工作的文件传输工具。
curl http://www.baidu.com
执行后,http://www.baidu.com 的html就会显示在屏幕上了
curl -o dodo1.jpg http:www.linux.com/dodo1.JPG
以服务器上的名称保存文件到本地。
netstat
用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
netstat
将每隔一秒输出网络信息。
netstat -a
列出所有端口。
netstat -at
列出所有 tcp 端口。
netstat -au
列出所有 udp 端口。
netstat -l
只显示监听端口。
网友评论