ls
ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可能是文件也可能是文件夹。
ls -lh”命令以详情模式(long listing fashion)列出文件夹的内容。
"ls -a"命令会列出文件夹里的所有内容,包括以"."开头的隐藏文件。
mkdir
“mkdir”(Make directory)命令在命名路径下创建新的目录。然而如果目录已经存在了,那么它就会返回一个错误信息"不能创建文件夹,文件夹已经存在了"("cannot create folder, folder already exists")
注意:目录只能在用户拥有写权限的目录下才能创建。
touch
“touch”命令代表了将文件的访问和修改时间更新为当前时间。touch命令只会在文件不存在的时候才会创建它。如果文件已经存在了,它会更新时间戳,但是并不会改变文件的内容。
注意:touch 可以用来在用户拥有写权限的目录下创建不存在的文件。
chmod
“chmod”命令就是改变文件的模式位。chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。
chmod 777 filename 赋予filename足够强大的权限
chown
“chown”命令就是改变文件拥有者和所在用户组。每个文件都属于一个用户组和一个用户。
“chown”命令用来改变文件的所有权,所以仅仅用来管理和提供文件的用户和用户组授权。
chown server:server Binary
注意:“chown”所给的文件改变用户和组的所有权到新的拥有者或者已经存在的用户或者用户组。
yum
yum - Yellowdog Updater Modified,用法:yum [options] [command] [package ...]能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
常用命令有:yum install/update/remove/search/list/installed/updates package
注:类似的命令有:apt、wget
rpm
rpm包管理器。
rpm -qa | grep php 是否安装过
rpm -qip example.rpm 查看example.rpm安装包的信息
rpm -ivh example.rpm 安装
rpm -q php 查询需要卸载的安装包
rpm -e 卸载的安装包(rpm -q 查询得到)
tar
“tar”命令是磁带归档(Tape Archive),对创建一些文件的的归档和它们的解压很有用。
tar -zxvf abc.tar.gz (记住'z'代表了.tar.gz)
tar -jxvf abc.tar.bz2 (记住'j'代表了.tar.bz2)
tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc
注意: "tar.gz"代表了使用gzip归档,“bar.bz2”使用bzip压缩的,它压缩的更好但是也更慢。
cal
“cal”(Calender),它用来显示当前月份或者未来或者过去任何年份中的月份。
cal [-smjy13] [[month] year]
date
“date”命令使用标准的输出打印当前的日期和时间,也可以深入设置。
date --set='14 may 2013 13:57'
注意:这个命令在脚本中十分有用,以及基于时间和日期的脚本更完美。
cat
“cat”代表了连结(Concatenation),连接两个或者更多文本文件或者以标准输出形式打印文件的内容。
注意:“>>”和“>”调用了追加符号。它们用来追加到文件里,而不是显示在标准输出上。“>”符号会删除已存在的文件,然后创建一个新的文件。所以因为安全的原因,建议使用“>>”,它会写入到文件中,而不是覆盖或者删除。
cp
“copy”就是复制。它会从一个地方复制一个文件到另外一个地方。
cp /home/user/Downloads abc.tar.gz /home/user/Desktop
scp
scp 可以在 2个 linux 主机间复制文件,命令的基本格式为:scp [可选参数] file_source file_target
复制文件: scp local_file remote_username@remote_ip:remote_folder或者scp local_file remote_username@remote_ip:remote_file
复制目录:scp -r local_folder remote_username@remote_ip:remote_folder
将上面命令的后两个参数调换下顺序,就可以从远程主机copy文件或目录到本地主机
mv
“mv”命令将一个地方的文件移动到另外一个地方去。
mv /home/user/Downloads abc.tar.gz /home/user/Desktop
pwd
“pwd”(print working directory),在终端中显示当前工作目录的全路径。
cd
经常使用的“cd”命令代表了改变目录。它在终端中改变工作目录来执行,复制,移动,读,写等等操作。“cd -”用于返回到上一个操作目录,cd 不带任何参数,可回到home目录。
uname
"uname"命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。
eg:umane -a
history
history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。
注意:按住“CTRL + R”就可以搜索已经执行过的命令,它可以在你写命令时自动补全。
md5sum
“md5sum”就是计算和检验MD5信息签名。md5 checksum(通常叫做哈希)使用匹配或者验证文件的文件的完整性,因为文件可能因为传输错误,磁盘错误或者无恶意的干扰等原因而发生改变。
注意:用户可以使用官方提供的和md5sum生成签名信息匹对以此检测文件是否改变。Md5sum没有sha1sum安全。
ps
ps命令给出正在运行的某个进程的状态,每个进程有特定的id成为PID。
常用选项:-ef -aux
kill
杀死一个进程需要知道进程的PID.
ps -A | grep -i apache2
搜索‘apache2'进程,找到PID并杀掉它.例如:在本例中‘apache2'进程的PID是1285.
kill -9 1285
另一个杀死进程的方法是:pkill apache2
service
service‘命令控制服务的启动、停止和重启,它让你能够不重启整个系统就可以让配置生效以开启、停止或者重启某个服务。
service httpd start/restart/stop
rm
'rm' 标准移除命令。 rm 可以用来删除文件和目录。
警告: "rm -rf" 命令是一个破坏性的命令,假如你不小心删除一个错误的目录。一旦你使用'rm -rf' 删除一个目录,在目录中所有的文件包括目录本身会被永久的删除,所以使用这个命令要非常小心。
echo
echo 的功能正如其名,就是基于标准输出打印一段文本。它和shell无关,shell也不读取通过echo命令打印出的内容。然而在一种交互式脚本中,echo通过终端将信息传递给用户。它是在脚本语言,交互式脚本语言中经常用到的命令。
passwd
在终端中用来改变自己密码很有用。显然的,因为安全的原因,你需要知道当前的密码。
cmp
比较两个任意类型的文件并将结果输出至标准输出。如果两个文件相同, ‘cmp‘默认返回0;如果不同,将显示不同的字节数和第一处不同的位置。
diff
mount
mount 是一个很重要的命令,用来挂载不能自动挂载的文件系统。你需要root权限挂载设备。
在linux下挂载一个windows下的目录:
mount -t cifs //192.168.246.1/test /home/test/ -o username=administrator,password=ms
其中,192.168.246.1是windows主机的IP,test是windows上的共享目录
ifconfig
ifconfig用来配置常驻内核的网络接口信息。在系统启动必要时用来设置网络适配器的信息。之后,它通常是只需要在调试时或当系统需要调整时使用。
ifconfig 检查活动网络适配器
ifconfig -a 检查所有的网络适配器
ifconfig eth0 查看eth0的信息
ifconfig eht0 down/up 停止或启用eht0适配器
netstat
netstat命令显示各种网络相关的信息,如网络连接,路由表,接口统计,伪装连接,组播成员身份等。
netstat -a 列出所有的网络端口
netstat -at 显示所有tcp相关端口
netstat -c 获取netstat输出的动态信息
uptime
你连接到你的 Linux 服务器时发现一些不寻常或恶意的东西,你可以运行uptime来验证当服务器无人值守式到底发生了什么事情。
rename
rename将会通过从文件名的首字符开始替换,重命名为指定的文件名。
top
显示CPU进程信息。这个命令自动刷新,默认是持续显示CPU进程信息,除非使用了中断指令。
free
查看内存资源
lsof
显示您的系统当前已打开的所有文件,这是非常有用的对于想找出哪些进程使用某一特定文件,或显示为单个进程打开所有文件。
ulimit
ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。
ulimit 命令的格式为:ulimit [options] [limit]
选项 [options] | 含义 | 例子 |
-H | 设置硬资源限制,一旦设置不能增加。 | ulimit – Hs 64;限制硬资源,线程栈大小为 64K。 |
-S | 设置软资源限制,设置后可以增加,但是不能超过硬资源设置。 | ulimit – Sn 32;限制软资源,32 个文件描述符。 |
-a | 显示当前所有的 limit 信息。 | ulimit – a;显示当前所有的 limit 信息。 |
-c | 最大的 core 文件的大小, 以 blocks 为单位。 | ulimit – c unlimited; 对生成的 core 文件的大小不进行限制。 |
-d | 进程最大的数据段的大小,以 Kbytes 为单位。 | ulimit -d unlimited;对进程的数据段大小不进行限制。 |
-f | 进程可以创建文件的最大值,以 blocks 为单位。 | ulimit – f 2048;限制进程可以创建的最大文件大小为 2048 blocks。 |
-l | 最大可加锁内存大小,以 Kbytes 为单位。 | ulimit – l 32;限制最大可加锁内存大小为 32 Kbytes。 |
-m | 最大内存大小,以 Kbytes 为单位。 | ulimit – m unlimited;对最大内存不进行限制。 |
-n | 可以打开最大文件描述符的数量。 | ulimit – n 128;限制最大可以使用 128 个文件描述符。 |
-p | 管道缓冲区的大小,以 Kbytes 为单位。 | ulimit – p 512;限制管道缓冲区的大小为 512 Kbytes。 |
-s | 线程栈大小,以 Kbytes 为单位。 | ulimit – s 512;限制线程栈的大小为 512 Kbytes。 |
-t | 最大的 CPU 占用时间,以秒为单位。 | ulimit – t unlimited;对最大的 CPU 占用时间不进行限制。 |
-u | 用户最大可用的进程数。 | ulimit – u 64;限制用户最多可以使用 64 个进程。 |
-v | 进程最大可用的虚拟内存,以 Kbytes 为单位。 | ulimit – v 200000;限制最大可用的虚拟内存为 200000 Kbytes。 |
tree
linux以树状图逐级列出目录的内容命令。
tree -LfiDCgpsu 4
-C 在文件和目录清单加上色彩,便于区分各种类型。
-D 列出文件或目录的更改时间。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。(小写L)
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-s 列出文件或目录大小。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
ln
最常用的参数是-s,建立软连接,用法是:ln –s 源文件 目标文件
df
du
估计文件的空间占用。 逐层统计文件(例如以递归方式)并输出摘要。
alias
mkpasswd
paste
wall
wall
"we will be going down for maintenance for one hour sharply at 03:30 pm"
mesg
mesg [y|n]
– Allows messages to appear on your
screen
.
write
talk
rsync
现在尝试在终端复制一个大文件,这样将会看到显示剩余部分的输出,与进度条类似。
而且,保持和维护备份是系统管理员不得不做的最重要、最无聊的工作之一。Rsync是一个用于新建和维护备份的非常好用的终端工具(也存在许多其它工具)。