1、常用指令##
命令 参数 描述
ls 显示文件或者目录
-l 列出文件详细信息
-R 递归列出遇到的子目录。
-a 列出所有文件,包括以 "." 开头的隐含文件。
mkdir mkdir 用指定的名字建立目录。 缺省时,新建立的目录模式为0777,即不加保护地对所有人 都可读、可写、可执行。
-m mode, --mode=mode 为新建立的目录设定模式,就象应用命令chmod一样,以后仍 然使用缺省模式建立新目录。
-p, --parents 为所给出的目录建立丢失了的父目录。所建立的父目录的模式 相当于用命令 umask 进行了 'u+wx' 的设置。忽略参数对已存 在的目录的覆盖。(例如:已存在目录/a,当用到命令'mkdir /a'
时报错,而'mkdir -p /a'则不会。)
cd 切换目录
touch 修改每个指定文件 file 的存取(access)和/或修改(modification)时间戳记.
-a 修改文件 file 的存取时间
-c 不创建文件 file.
-r file, --reference=file 使用参照文件 file 的时间戳记值修改指定文件的时间戳记
echo 在标准输出上显示文本。
cat 将文件列表中的文件或标准输入连接到标准输出。
cp cp 复制文件(或者目录等). 可以使用这个命令复制一个文件到一个指定的目的地, 或者复制任意多个文件到一个目的目录目录.
cp [选项] 文件路径
cp [选项] 文件...目录
-f, --force 删除存在的目标文件
-r 递归地复制目录,复制任何非目录和非符号链接
-p 保留原文件的所有者、组、权限
mv 改“源文件”名到“目标文件”名, 或移动“源文件”(可以不只一 个)到一个“目录”。
mv [选项]... 源文件 目标文件
mv [选项]... 源文件... 目录
-f, --force 覆盖前永不提示
-i, --interactive 覆盖前提示
-u, --update 只移动更老的或者标记新的非目录
rm 移除每个给定的文件。默认情况下,它不能移除目录。但是当给定了-r或者-R选项时,在指定目录之下的整个目录树都会被移除。
rm [options]file...
-f,--force 忽略不存在的文件,并且从不向用户提示。
-i,--interactive 提示是否移除每个文件。如果回答是否定的,文件将被跳过。
-r,-R,--recursive 递归地移除目录中的内容
find 递归地在层次目录中查找文件。
find [path...] [expression]
wc 输出文件中的行数、单词数、字节数。
wc [选项列表]... [文件名列表]...
grep 搜索以FILE命名的文件输入(或者是标准输入如果没有指定文件名,或者给出的文件名是-的话)寻找含有与给定的模式 PATTERN 相匹配的内容的行。默认情况下, grep将把含有匹配内容的行打印出来。
grep [options] [-e PATTERN | -f FILE] [FILE...]
-a, --text 将一个二进制文件视为一个文本文件来处理
-E, --extended-regexp 将模式 PATTERN 作为一个扩展的正则表达式来解释
-f FILE, --file=FILE 从文件 FILE 中获取模式,每行一个。空文件含有0个模式,因此不匹配任何东西。
-n, --line-number 在输出的每行前面加上它所在的文件中它的行号。
-R, -r, --recursive 递归地读每一目录下的所有文件。
-B NUM, --before-context=NUM 打印出匹配的行之前的上文 NUM 行。
-C NUM, --context=NUM 打印出匹配的行的上下文前后各 NUM 行。
rmdir 删除空目录。如果所给出的目录不为空,则报错。
rmdir [options] directory..
-p 如果目录由多个路径名组成,从最后一个路径名开始依次删除, 直到所有的路径名都被删完。例如:命令'rmdir -p a/b/c'按 照'rmdir /a/b/c'; 'rmdir a/b'; 'rmdir a'的顺序删除目录。
pwd 显示出当前/活动目录的名称.
ln 在文件之间建立连接,在Unix世界里有两个'link'(连接)概念,一般称之为硬连接和软连接。一个硬连接仅仅是一个文件名。
一个文件可以有好几个文件名,只有将最后一个文件名从
磁盘上删除,才能把这个文件删掉。文件名的个数是由ls(1)来确定的。所有的文件名都处于同一个状态,也就没有什么“源名字”之说。通常文件系统里的一个文件的所有名字包含着一样的数据信息,不过这样也不是必需的。)
一个软连接(或符号连接)是完全不同的:它是一个包含了路径信息的小小的指定文件。因此,
软连接可以指向不同文件系统里的文件(比如由NFS装载的不同机器文件系统上的文件),甚至可以指向一个不一定确实存在的文件。在软连接文件被访问(系统调用 open(2)
或stat(2))的时候,操作系统用该文件所包含的路径替换该文件的访问介入点,从而实现对所指文件的访问。(用命令rm(1)和unlink(2)可以删除连接,但
不是删除该文件所指向的文件。系统指定调用lstat(2)和readlink(2)来读取连接文件与其所指文件的状态。到底是对软连接文件操作,还是对被指向文件操作,由
于不同操作系统件存在不同的系统调用,而存在着差异。) ln 在文件间产生连接。缺省时,产生硬连接,有-s选项,则产生符号(软)连接。
如果仅仅只给出一个文件名,那么ln将在当前目录里产生这个文件的连接, 也就是说,以该文件(的最后一个)名称等同的名字在当前目录里产生一个连接 (GNU范围内);
如果最后一个参数是一个已存在的目录名,ln 将在那个目录里给每一个源文件用以与源文件相同的文件名产生连接,(不同情况见以下--no-dereference的描述);
如果只给出两个文件名,ln将产生源文件的连接; 如果最后一个参数不是一个目录名或多于两个文件名,则报错。
缺省时,ln不删除已存在的文件或符号连接。 (因此,它可以被用来锁定目标文件,即当dest已经不存在时) 但选项-f可以强制执行。
在已存在的实现中,只有超级用户才能建立目录的硬连接。 POSIX 禁止系统调用link(2)和ln建立目录的硬连接 (但是允许在不同的文件系统间建立硬连接)。
ln [options] source [dest]
ln [options] source...directory
-f, --force 删除已存在的目的文件
-i, --interactive 提示是否删除已存在的目的文件。
-n, --no-dereference 当所给出的目的文件名是一个目录的符号连接时,将其视为一般文件处理。当所给出的目的文件名是一个目录的符号连接时,将其视为一般文件处理。
more、less 分页显示文本文件中的内容。
head、tail 显示文件头尾内容
系统管理命令##
stat 打印信息节点(inode)内容,显示指定文件的详细信息,比ls更详细
stat filename [filenames ... ]
who 显示已经登录的用户
who [OPTION]... [ FILE | ARG1 ARG2 ]
-H, --heading 显示 栏目行
-u 增加显示用户的空闲时间,格式是:HOURS:MINUTES或old
-q, --count 显示 全部的 登录名 和 登录数。
whoami 显示当前操作用户。
hostname 显示或设置系统的主机名
domainname 显示或设置系统的NIS/YP域名
dnsdomainname 显示系统的DNS域名
nisdomainname 显示或设置系统的NIS/YP域名
ypdomainname 显示或设置系统的NIS/YP域名
nodename 显示或设置系统的DECnet节点名
uname 显示输出系统信息
-a, --all 显示所有的信息
-m, --machine 显示机器(硬件)类型
-n, --nodename 显示机器的网络节点主机名
-r, --release 显示操作系统发行版本
-s, --sysname 显示操作系统名
-p, --processor 显示主机处理器(CPU)类型
-v 显示操作系统版本
top 动态显示当前耗费资源最多进程信息
ps 显示进程快照 ps aux
a 显示现行终端机下的所有程序,包括其他用户的程序。
-A 显示所有程序。
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示.
-e 此参数的效果和指定"A"参数相同
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
ps e 列出程序时,显示每个程序所使用的环境变量。
du 报告磁盘空间使用情况
du [options] [file...]
-a 显示对涉及到的所有文件的统计,而不只是包含子目录。
-k 用1024字节作为计数单位,替代缺省时512字节的计数单位。
-x 只输出指定参数的实际使用空间,而不包括其下的子目录。
-s 只统计指定参数的在同一设备上所使用的空间。
-h, --human-readable 为每个数附加一个表示大小单位的字母,象用M表示二进制 的兆字节。
df 报告文件系统磁盘空间的使用情况
df [OPTION]... [FILE]...
-h,--huma-readable 用常见的格式显示出大小(例如:1K 234M 2G)
-H,--si 同上,但是这里的1k等于1000字节而不是1024字节
-l, --local 只显示本地文件系统使用状况
-T, --print-type 输出每个文件系统的类型
-a, --all 列出包括BLOCK为0的文件系统
ifconfig 配置网络接口,查看网络情况
ping 测试网络连通
netstat 显示网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组。
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令
clear 清除终端屏幕
alias 对命令重命名,比如:alias showmeit="ps -aux" 解除使用unalias showmeit
kill 终止进程,给指定进程发送指定信号. 如果没有指定信号, 则发送 TERM 信号. TERM 信号会杀死不能俘获该信号的进程.对于其他进程, 可能需要使用 KILL (9) 信号, 因为该信号不能够被俘获。
-s 指定发送的信号. 信号可以以信号名或数字的方式给定.
-p 指定 kill 只打印命名进程的进程标识 (pid) , 而不应发送给它信号。
-l 打印信号名的列表.这可以在 /usr/include/linux/signal.h 中找到.
useradd 创建一个新用户或更新默认新用户信息
useradd [选项] 登录
-b, --base-dirBASE_DIR 如果选项没有指定,useradd 将使用 /etc/default/useradd 中的 HOME 变量,或者默认的 /home。
-c, --comment 任何字符串。通常是关于登录的简短描述,当前用于用户全名。
-e, --expiredate 用户账户将被禁用的日期。日期以 YYYY-MM-DD 格式指定。如果没有指定,useradd 将使用 /etc/default/useradd 中 EXPIRE。变量指定的默认过期日期,或者一个空字符串(不过期)。
-f, --inactive 密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1 表示禁用这个功能。
-G, --groups 用户还属于的附加组列表。每个组都用逗号隔开,没有中间的空格。
userdel 删除用户账户和相关文件
userdel [选项] 登录
-f, --force 此选项强制删除用户账户,甚至用户仍然在登录状态。
-r, --remove 用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。
-Z, --selinux-user 移除用户登录的所有 SELinux 用户映射。
groupadd 创建一个新组
groupadd [选项] group
groupdel 删除一个组
groupdel [选项] GROUP
passwd 更新用户口令
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
su user 运行替换用户和组标识的shell
chown 修改文件所有者和组别
chown [options] user [:group] file...
-R 递归地修改目录及其下面内容的所有权.
chmod 修改某个目录或文件的访问权限
chmod [options] mode file...
chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名
-R 改变目录及目录下的内容的访问权限.
-c, --changes 只有在文件的权限确实改变时才进行详细的说明
-v, --verbose 详细说明权限的变化
有两种设置方法:[ugoa...][[+-=][rwxX]...][,...],此中u 暗示该档案的拥有者,g 暗示与该档案的拥有者属于统一个群体(group)者,o 暗示其他以外的人,a 暗示这三者皆是。
+ 暗示增添权限、- 暗示打消权限、= 暗示独一设定权限。
r 暗示可读取,w 暗示可写入,x 暗示可实行,X 暗示只有当该档案是个子目次大概该档案已经被设定过为可实行。
例子:将1.txt设置为全部人都可以读取 chmod ugo+r 1.txt 则 chmod a+r 1.txt chmod 444 1.txt
有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765
sudo chmod u+x g+w o+r filename 或者 sudo chmod 765 filename
chgrp 改变文件的组所有权
-R 递归的改变目录和它的内容的组所有权 (即使遇到错误也继续.)
/etc/profile 系统环境变量
~/.bash_profile 用户环境变量
~/.bashrc 用户环境变量文件
关机、重启机器#
shutdown 关闭系统
/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]
-t sec 通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill)信号。
-k 并非真正关机,只向所有人显示警告信息。
-r 重启。
-h 停机,关闭电源。
-f 重启时跳过磁盘检测。
-F 重启时强制磁盘检测。
-c 取消运行中的shutdown进程。
time 关机时间。
shutdown -h now 立即关机
halt 、reboot 中止系统运行
/sbin/halt [-n] [-w] [-d] [-f] [-i] [-p]
-n 在关机或重启之前不对系统缓存进行同步。
-w 不真正重启或关机,而仅仅将关机信息写入 wtmp (在 /var/log/wtmp 文件里)
-d 不记录此次关机情况。当使用 -n 参数时隐含 -d。
-f 强制执行 halt 或 reboot 而不去调用 shutdown(8)。
-i 在关闭或重启系统之前关闭所有网络界面。
-p 当关闭系统时执行关闭电源操作。
Linux管道##
将一个命令的标准输出作为另外一个命令的标准输入,也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
例如: grep -r "close" /home/* | more 表示在home目录下所有的文件中查找,包含close的文件,并分页输出。
vim使用##
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache,按n跳到下一个,shif+n上一个
yyp 复制光标所在行,并粘贴。
用户及用户管理##
/etc/passwd