1、find 基本语法参数如下:
find [PATH] [option] [action] # 与时间有关的参数: -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件; -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名; -mtime -n : 列出在n天之内(含n天本身)被更改过的文件名; -newer file : 列出比file还要新的文件名 # 例如: find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件 # 与用户或用户组名有关的参数: -user name : 列出文件所有者为name的文件 -group name : 列出文件所属用户组为name的文件 -uid n : 列出文件所有者为用户ID为n的文件 -gid n : 列出文件所属用户组为用户组ID为n的文件 # 例如: find /home/hadoop -user hadoop # 在目录/home/hadoop中找出所有者为hadoop的文件 # 与文件权限及名称有关的参数: -name filename :找出文件名为filename的文件 -size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件 -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、 目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p); -perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755; -perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示 -perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示 # 例如: find / -name passwd # 查找文件名为passwd的文件 find . -perm 0755 # 查找当前目录中文件权限的0755的文件 find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte
2、ls 命令,展示文件夹内内容,参数如下:
-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来~ -A :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来~ -d :仅列出目录本身,而不是列出目录内的档案数据 -f :直接列出结果,而不进行排序 (ls 预设会以档名排序!) -F :根据档案、目录等信息,给予附加数据结构,例如: *:代表可执行档; /:代表目录; =:代表 socket 档案; |:代表 FIFO 档案; -h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来; -i :列出 inode 位置,而非列出档案属性; -l :长数据串行出,包含档案的属性等等数据; -n :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在账号管理提到!) -r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小; -R :连同子目录内容一起列出来; -S :以档案容量大小排序! -t :依时间排序 --color=never :不要依据档案特性给予颜色显示; --color=always :显示颜色 --color=auto :让系统自行依据设定来判断是否给予颜色 --full-time :以完整时间模式 (包含年、月、日、时、分) 输出 --time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime) 而非内容变更时间 (modification time) 例如: ls [-aAdfFhilRS] 目录名称 ls [--color={none,auto,always}] 目录名称 ls [--full-time] 目录名称
3、 cd 命令:
cd /root/Docements # 切换到目录/root/Docements cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录 cd ../path # 切换到上层目录中的path目录中,“..”表示上一层目录
4、 cp 命令,作用复制,参数如下:
-a :将文件的特性一起复制 -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份 -i :若目标文件已经存在时,在覆盖时会先询问操作的进行 -r :递归持续复制,用于目录的复制行为 -u :目标文件与源文件有差异时才会复制
5、rm命令作用为删除,参数:
-f :就是force的意思,忽略不存在的文件,不会出现警告消息 -i :互动模式,在删除前会询问用户是否操作 -r :递归删除,最常用于目录删除,它是一个非常危险的参数
6、 mv命令作用为移动文件:
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖 -i :若目标文件已经存在,就会询问是否覆盖 -u :若目标文件已经存在,且比目标文件新,才会更新
7、pwd命令,作用为查看”当前工作目录“的完整路径
pwd -P # 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
8、tar命令,用于压缩解压:
-c :新建打包文件 -t :查看打包文件的内容含有哪些文件名 -x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中 -j :通过bzip2的支持进行压缩/解压缩 -z :通过gzip的支持进行压缩/解压缩 -v :在压缩/解压缩过程中,将正在处理的文件名显示出来 -f filename :filename为要处理的文件 -C dir :指定压缩/解压缩的目录dir
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称 查询:tar -jtv -f filename.tar.bz2 解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
9、mkdir命令创建目录:
mkdir [选项]... 目录... -m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; -v, --verbose 每次创建新目录都显示信息
10、rmdir 命令删除目录:
rmdir [选项]... 目录... -p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。 -v --verbose 显示指令执行过程
11、gzip 命令压缩文件或文件夹为 .gz文件:
gzip[参数][文件或者目录] -a or --ascii 使用ASCII文字模式。 -c or --stdout or --to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。 -d or --decompress or ----uncompress 解开压缩文件。 -f or --force 强行压缩文件。不理会文件名称 or 硬连接是否存在以及该文件是否为符号连接。 -h or --help 在线帮助。 -l or --list 列出压缩文件的相关信息。 -L or --license 显示版本与版权信息。 -n or --no-name 压缩文件时,不保存原来的文件名称及时间戳记。 -N or --name 压缩文件时,保存原来的文件名称及时间戳记。 -q or --quiet 不显示警告信息。 -r or --recursive 递归处理,将指定目录下的所有文件及子目录一并处理。 -S<压缩字尾字符串> or ----suffix<压缩字尾字符串> 更改压缩字尾字符串。 -t or --test 测试压缩文件是否正确无误。 -v or --verbose 显示指令执行过程。 -V or --version 显示版本信息。 -num 用指定的数字num调整压缩的速度,-1 or --fast表示最快压缩方法(低压缩比),-9 or --best表示最慢压缩方法(高压缩比)。系统缺省值为6。
12、ps 命令显示运行的进程,还会显示进程的一些信息如pid, cpu和内存使用情况等:
-A :所有的进程均显示出来 -a :不与terminal有关的所有进程 -u :有效用户的相关进程 -x :一般与a参数一起使用,可列出较完整的信息 -l :较长,较详细地将PID的信息列出
13、 kill 命令用于终止进程,参数:
kill -signal PID 1:SIGHUP,启动被终止的进程 2:SIGINT,相当于输入ctrl+c,中断一个程序的进行 9:SIGKILL,强制中断一个进程的进行 15:SIGTERM,以正常的结束进程方式来终止进程 17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
14、crontab命令是启动linux定时任务的服务
service cron start # 启动cronjob service cron stop # 停止cronjob service cron restart # 重启cronjob crontab -e # 编辑cronjob任务
15、chmod命令:
chmod [-R] xyz 文件或目录 -R:进行递归的持续更改,即连同子目录下的所有文件都会更改#同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改,编号是各种权限的数字代码,示例: chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x chmod g+w file # 向file的文件权限中加入用户组可写权限
16、chown命令改变文件所有者:
chown [para]... [owner][:[group]] file...-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
17、chgrp命令,改变文件所属组:
-c 当发生改变时输出调试信息 -f 不显示错误信息 -R 处理指定目录以及其子目录下的所有文件 -v 运行时显示详细的处理信息 --dereference 作用于符号链接的指向,而不是符号链接本身 --no-dereference 作用于符号链接本身
18、 usermod 修改用户信息:
usermod -h usermod [options] LOGIN-c #后面接账号的说明,即/etc/passwd第五栏的说明栏,可以加入一些账号的说明
-d #后面接账号的家目录,即修改/etc/passwd的第六栏
-e #后面接日期,格式是YYYY-MM-DD也就是在/etc/shadow内的第八栏
-f #后面接天数,修改shadow的第七栏
-g #后面接主群组,修改/etc/passwd的第四个字段,即是GID的字段
-G #后面接附加群组,修改这个使用者能够支持的群组,修改的是/etc/group
-a #与 -G 合用,可增加附加群组的支持而非设定
-l #后面接账号名称。修改账号名称,/etc/passwd的第一栏
-s #后面接Shell的文件,例如/bin/bash或/bin/csh等等
-u #后面接 UID 数字,修改用户的UID /etc/passwd第三栏
-L #暂时将用户的密码冻结,让他无法登入。其实就是在/etc/shadow的密码栏前面加上了“!”
-U #将/etc/shadow 密码栏的“!”去掉
19、userdel 删除用户:
userdel [options] LOGIN -f # 强制删除,包括用户的一切相关内容,这个参数是危险的参数,不建议大家使用。详细说明看MAN -r # 删除用户的家目录和用户的邮件池
20、passwd 设置用户的密码:
passwd [OPTION...] <accountName> -k, --keep-tokens keep non-expired authentication tokens -d, --delete delete the password for the named account (root only) -l, --lock lock the named account (root only) -u, --unlock unlock the named account (root only) -f, --force force operation -x, --maximum=DAYS maximum password lifetime (root only) -n, --minimum=DAYS minimum password lifetime (root only) -w, --warning=DAYS number of days warning users receives before password expiration (root only) -i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only) -S, --status report password status on the named account (root)
21、groups 显示用户所属组:
groups # 默认显示当前用户的组 groups hadoop2 # 显示hadoop2用户的组
22、vi/vim 是使用vi编辑器的命令:
vi /var/log/aa.log # 打开 /var/log/aa.log文件并编辑
23、cat 用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用
cat [选项] [文件]... -A, --show-all 等价于 -vET -b, --number-nonblank 对非空输出行编号 -e 等价于 -vE -E, --show-ends 在每行结束处显示 $ -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号 -s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行 -t 与 -vT 等价 -T, --show-tabs 将跳格字符显示为 ^I -u (被忽略) -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
24、diff 命令用于比较两个文件或目录的不同:
diff[参数][文件1或目录1][文件2或目录2] # diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的 # 文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。 -a or --text #diff预设只会逐行比较文本文件。 -b or --ignore-space-change #不检查空格字符的不同。 -B or --ignore-blank-lines #不检查空白行。 -c #显示全部内文,并标出不同之处。 -C or --context #与执行"-c-"指令相同。 -d or --minimal #使用不同的演算法,以较小的单位来做比较。 -D or ifdef #此参数的输出格式可用于前置处理器巨集。 -e or --ed #此参数的输出格式可用于ed的script文件。 -f or -forward-ed #输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。 -H or --speed-large-files #比较大文件时,可加快速度。 -l or --ignore-matching-lines #若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符 or 字符串,则不显示这两个文件的差异。 -i or --ignore-case #不检查大小写的不同。 -l or --paginate #将结果交由pr程序来分页。 -n or --rcs #将比较结果以RCS的格式来显示。 -N or --new-file #在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。 -p #若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。 -P or --unidirectional-new-file #与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。 -q or --brief #仅显示有无差异,不显示详细的信息。 -r or --recursive #比较子目录中的文件。 -s or --report-identical-files #若没有发现任何差异,仍然显示信息。 -S or --starting-file #在比较目录时,从指定的文件开始比较。 -t or --expand-tabs #在输出时,将tab字符展开。 -T or --initial-tab #在每行前面加上tab字符以便对齐。 -u,-U or --unified= #以合并的方式来显示文件内容的不同。 -v or --version #显示版本信息。 -w or --ignore-all-space #忽略全部的空格字符。 -W or --width #在使用-y参数时,指定栏宽。 -x or --exclude #不比较选项中所指定的文件 or 目录。 -X or --exclude-from #您可以将文件 or 目录类型存成文本文件,然后在=中指定此文本文件。 -y or --side-by-side #以并列的方式显示文件的异同之处。
25、ping 用于确定主机与外部连接状态:
ping [参数] [主机名或IP地址] -d 使用Socket的SO_DEBUG功能。 -f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。 -n 只输出数值。 -q 不显示任何传送封包的信息,只显示最后的结果。 -r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。 -R 记录路由过程。 -v 详细显示指令的执行过程。 <p>-c 数目:在发送指定数目的包后停止。 -i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。 -I 网络界面:使用指定的网络界面送出数据包。 -l 前置载入:设置在送出要求信息之前,先行发出的数据包。 -p 范本样式:设置填满数据包的范本样式。 -s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。 -t 存活数值:设置存活数值TTL的大小。
26、ssh 命令用于远程登录上Linux主机:
ssh [-l login_name] [-p port] [user@]hostname
27、telnet 命令用来远程登录操作:
telnet[参数][主机] -8 允许使用8位字符资料,包括输入与输出。 -a 尝试自动登入远端系统。 -b<主机别名> 使用别名指定远端主机名称。 -c 不读取用户专属目录里的.telnetrc文件。 -d 启动排错模式。 -e<脱离字符> 设置脱离字符。 -E 滤除脱离字符。 -f 此参数的效果和指定"-F"参数相同。 -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。 -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。 -K 不自动登入远端主机。 -l<用户名称> 指定要登入远端主机的用户名称。 -L 允许输出8位字符资料。 -n<记录文件> 指定文件记录相关信息。 -r 使用类似rlogin指令的用户界面。 -S<服务类型> 设置telnet连线所需的IP TOS信息。 -x 假设主机有支持数据加密的功能,就使用它。 -X<认证形态> 关闭指定的认证形态。