linux 常用命令
tail -f 动态看后十行 命名:只有/不可以用 不建议用空格和tab来命名文件名和目录名,建议不要用特殊字符命名 文件后缀名没有要求 .开头的代表隐藏文件 命令 -选项 参数 ls -al(可以连写) /etc 默认规则 管理员root可以执行的命令:/sbin 或 /usr/sbin(super binary) all users /bin 或 /usr/bin linux在中所有的东西都是文件 命令是二进制文件 视频,图片,网页,压缩包等 常见文件类型 :d:目录, - :二进制文件, l:软连接文件 文件 所有者(u user):创建的人或者 所属组(g group) : 其他人(o others): 数据块 block 512字节(存储数据的最小单位)数据块越小存储速度越慢,但是省空间 drwxr-xr-x 2 root root 4096 硬链接数 所有者 所属组 文件大小(不准) -l list -a 显示隐藏 -d 查看目录属性 pwd print working directory 当前目录 创建空文件 touch 日志文件 mkdir -p /song/jian/kang 递归创建 cp -r 文件或目录(一个或者多个 ) 文件或目录 ctrl+c终止命令 mv /a/b /etc mv /a/b/* /etc rmdir 只能删除空目录 rm -rf 删除文件或者目录 查看文件内容 cat 文件较长不能显示 more (有百分比) 空格(页) 行(回车) q(退出) head -多少行 文件名 tail -多少行 -f(实时显示,一般用来看日志文件,默认显示十行) 文件名 linux 中处理任何都需要一个数字 ls -i 软件连接文件特点:(可以分区生成) 1、软连接文件权限都是 lrwxrwxrwx (最终权限还得取决于源文件) --> 时间为生成链接时的时间 硬链接(i节点相同)(不能夸分区生成) 权限 时间 大小一样 类似copy 但不同是可以同步更新(实时备份功能) 创建软连接 ln -s [源文件] [目标文件] 创建硬连接 ln [源文件] [目标文件] cp -p 拷贝文件不改变时间 linxu内核只认识数字 每个文件必须有个数字标识 叫做i节点 每个文件必须有一个i节点, 权限: u + 加权限 g - 去掉权限 o = 直接授权 chmod g=rwx 文件名 chmod 777 文件名 r=4 w=2 x=1 su - 用户名 切换用户 删除一个是文件是指对文件所在的目录有w权限和文件本身没关系 一个目录一般都会有rx权限 即 5 root用户下 passwd 用户名 改变用户密码 改变所有者 chown -R 所有者 文件或者目录 改变所有组 chgrp -R 组名 文件或者目录 umask -S 缺省的权限 0022 0-特殊权限位 022-用户权限位,权限掩码值 777 -022 ————— 755 linux默认规则缺省创建的文件不能授予执行权限 644 755-1 umask 掩码值
#修改一个用户相关的信息 usermod -G 组名 用户名 which ls ls命令的绝对路径(只能查找命令) + 别名 在PATH变量路径中查找,返回第一个找到的,可以查看执行的到底是哪个命令 whereis ls 显示绝对路径 + 帮助文档
find 目录 #递归列出目录及子目录的文件
find /etc/ -name init (全名匹配) 不会匹配内容,window中会匹配内容也 * 匹配任意一个 ?匹配单个字符 block 数据块 512byte = 1kB + 代表大于 - 代表小于 = find /etc/ -size find /etc/ -user 文件所有者 时间查找 1、天 ctime ,atime ,mtime 2、分钟 cmin ,amin ,mmin c - change 改变 表示文件的属性被修改过 所有则,所属组,权限等 a - access访问过 head tail vi 等 m - modify 修改,表示内容被修改过(被vi编辑过) - 之内 + 超过 find /etc -mmin -120 两个小时之内被修改的文件 -type [f文件] [l软连接连接] [d目录] 1、连接符 -a and , -o or find /etc -size +163840 -a -size -20480 2、连接符 find ---- -exec 命令 {} \; \ 使命令是他本身的符号 -ok 询问执行命令 find . -name a -ok rm -fr {} \; find ./ -inum 524410//根据i节点进行查找,适用于文件名带有特殊字符的文件 {} 表示find查询的结果,可手动更新,系统中有计划任务定期更新 grep ftp /etc/services 在文件中搜寻匹配的字符串
grep -ril ftp /etc #在目录中查找(包括子目录) -i:不区分大小写
-h:不显示文件名
-l:只显示文件名
-n:显示行及行号
locate 只有linux下有(updatedb) 帮助 man 配置文件的帮助(系统自带的可以不写路径),或者命令的帮助 若有相同的时候会有先显示命令的帮助 帮助会分成许多种 1:命令的帮助 5:配置文件的帮助 man 5 passwd info同命令man 只是展现形式不一样 whatis 命令 简洁的帮助信息 apropos 查看配置文件简短信息 同man -K 命令 --help 显示命令的选项信息 whatis apropose 都是基于索引的 makewhatis 重建索引 help 查看shell内置命令的帮助 如 cd pwd 等 shell -》内核 -》硬件 用man查不着的可能是shell的内置命令 ,系统默认为bash shell ,这时候可以用help + 内置命令 man bash 显示系统的默认命令 —————————————————————————————————————————— 压缩命令 .gz gzip 文件名 只可以压缩文件,不可以是目录 不会保留源文件 解压 gzip -d or gunzip 会删除源文件 tar 把一个目录打包成一个文件,自动保存文件属性 file 文件名 查看文件的具体类型 (在扩展名不对的情况下查看) tar -czvf 打包后文件名(a.tar.gz) 目录名 打包带压缩 并不是所有的unix,linux都支持的 tar -tzvf 压缩包名 (不解包查看里面的文件) tar -C 还原到指定目录 回复压缩包中的单个文件 tar -xzvf test.tar.gz 文件名 (注意前面不要有/) tar -rf 向包中添加文件:只可以是tar格式的 tar -uf 更新包中的文件:只可以是tar格式的 tar -c 创建压缩包 -x 解压tar文件 -v 显示详细信息 -f 指定压缩文件 -z 解压缩 .zip windows 和 linux通用的格式 zip 可以压缩文件或者目录 会保留源文件 zip 生成的文件名 源文件 zip -r 生成的文件名 源目录 unzip 压缩包 解压缩 —————————— .bz2 bzip2 gzip的升级版 (压缩比非常高,也是只能压缩文件,-k 后可以保留源文件) bzip2 -k 文件名 bunzip -k 压缩包 (-k 会保留源文件) ————————————————————————————————————————
tar -cjvf 压缩包名tar.bz2 目录 #一步到位创建bz2的压缩包
tar -xjvf 压缩包名.tar.bz2 #解压tar.gz2的包
网络命令 write 用户名(实时通讯工具,必须在线才可以通讯) ctrl+d结束 wall 广播信息 数据丢包 有时候不能存储数据可以考虑这种情况 ping通本机地址可以同,说明本机的tcp/ip协议没问题 ping -c 4 localhost ping四次后自动停止 ping -s 65507 localhost 包的大小 ifconfig eth0 ip地址 linux潜规则 linux中用命令行改变的只是存在本次回话中,要想永久改变必须写入配置文件中 ———————————————— shutdown -h now reboot 重启 ________________ cat /etc/shells 列出系统当前安装的shell 默认bash ctrl+l 清屏 clear ctrl+u 把前面内容全部删除 history 显示执行过的所有命令 !标号 就可以执行命令了 ———————————————————————————— 命令别名(unix中没有默认的别名) alias 显示系统默认别名 使操作更容易 alias coyp=cp 以后就可以直接用copy了, 写法: alias copy=cp(只有一个命令) alias xrm="rm -rf"(组合的话必须引起来) unalis 别名 (删除别名)
以上操作只能保存到当前回话,要想永久生效必须保存到文件
1、vim ~/.bashrc
2、添加 alias d="date +%F"
3、source ~/.bashrc
_________________________________________________________________ 输出重定向 0:输出从定向 1:输入重定向 2:错误输出重定向 > >> 追加 < 输入重定向 wall < /etc/motd 2> 保存错误信息 /usr 想当于windows下的windows目录 保存错误信息 命令 2>/bak.error (如果没有错误信息则 不会像写入) 管道:将一个命令的输出传递给另一个命令,作为另一个命令的输入 wc -l 文件 统计文件有多少行 ls -l | grep m | wc -l 命令连接符 ; 间隔的命令顺序执行 计划任务、 记得记录错误日志 && a && b 前面执行成功才会执行下面的 || 两个命令只会执行一个 第一个执行成功后,第二个就不执行了,第一个不成功,第二个才会执行 命令替换符 讲一个命令的输出作为另已给命令的输入 ls -l `which ls` 相当于 ls -l /usr/bin/ 用这样的命令写出来的脚本适应性更强 一个脚本可以让用户执行: sh 脚本 1、对脚本有r权限 2、对脚本所在目录有rx权限 sh 脚本 1、对脚本有r权限 2、对脚本所在目录有rx权限 脚本 1、对脚本有rx权限 2、对脚本所在目录有rx权限
Centos 6.0默认alias设置
alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
更多alias常用命令参考:http://alias.sh/
#查看某个端口是否启动 netstat -tunpl | grep 3306 -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 -n : 不进行DNS轮询(可以加速操作)