Linux常用命令
cd命令
说明:该命令用于切换工作目录
用法:
cd [-L|[-P [-e]] [-@]] [目录] 改变 shell 工作目录。 改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME 的值。 变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。 一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH 变量不会被使用。 如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个 变量名。如果该变量有值,则它的值被当作 DIR 目录。 选项: -L 强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。 -P 使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。 -e 如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。 -@ 在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。 默认情况下跟随符号链接,如同指定 `-L'。 `..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。 退出状态: 如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回 0,否则非零。
栗子:
cd ~ #切换到当前用户的主目录 cd /home/fiver #切换到/home/fiver 目录 cd ./nginx #切换到当前目录下的nginx目录下(可直接写 cd nginx) cd ..#返回上级目录 cd ../music #切换到上级目录下的music目录
pwd命令
说明:显示当前目录的路径
用法:
打印当前工作目录的名字。 选项: -L 打印 $PWD 变量的值,如果它包含了当前的工作目录 -P 打印当前的物理路径,不带有任何的符号链接 默认情况下,`pwd' 的行为和带 `-L' 选项一致 退出状态: 除非使用了无效选项或者当前目录不可读,否则返回状态为0。
栗子:
pwd #显示当前工作目录
ls命令
说明:查看文件与目录命令
用法(常用):
-l :列出长数据串,包含文件的属性与权限数据等 -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用) -d :仅列出目录本身,而不是列出目录的文件数据 -h :将文件容量以较易读的方式(GB,kB等)列出来 -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
栗子:
ls #展示目录下文件 ls -l #以长数据串的形式列出当前目录下的数据文件和目录 ls -lR #以长数据串的形式列出当前目录下的所有文件 ls -a #显示所有文件(包括隐藏文件)
vim命令
说明:强大的文本编辑命令
用法:
vim [参数] [文件 ..] 编辑指定的文件 或: vim [参数] - 从标准输入(stdin)读取文本 或: vim [参数] -t tag 编辑 tag 定义处的文件 或: vim [参数] -q [errorfile] 编辑第一个出错处的文件 参数: -- 在这以后只有文件名 -v Vi 模式 (同 "vi") -e Ex 模式 (同 "ex") -E Improved Ex mode -s 安静(批处理)模式 (只能与 "ex" 一起使用) -d Diff 模式 (同 "vimdiff") -y 容易模式 (同 "evim",无模式) -R 只读模式 (同 "view") -Z 限制模式 (同 "rvim") -m 不可修改(写入文件) -M 文本不可修改 -b 二进制模式 -l Lisp 模式 -C 兼容传统的 Vi: 'compatible' -N 不完全兼容传统的 Vi: 'nocompatible' -V[N][fname] Be verbose [level N] [log messages to fname] -D 调试模式 -n 不使用交换文件,只使用内存 -r 列出交换文件并退出 -r (跟文件名) 恢复崩溃的会话 -L 同 -r -A 以 Arabic 模式启动 -H 以 Hebrew 模式启动 -F 以 Farsi 模式启动 -T <terminal> 设定终端类型为 <terminal> --not-a-term Skip warning for input/output not being a terminal --ttyfail Exit if input or output is not a terminal -u <vimrc> 使用 <vimrc> 替代任何 .vimrc --noplugin 不加载 plugin 脚本 -P[N] 打开 N 个标签页 (默认值: 每个文件一个) -o[N] 打开 N 个窗口 (默认值: 每个文件一个) -O[N] 同 -o 但垂直分割 + 启动后跳到文件末尾 +<lnum> 启动后跳到第 <lnum> 行 --cmd <command> 加载任何 vimrc 文件前执行 <command> -c <command> 加载第一个文件后执行 <command> -S <session> 加载第一个文件后执行文件 <session> -s <scriptin> 从文件 <scriptin> 读入正常模式的命令 -w <scriptout> 将所有输入的命令追加到文件 <scriptout> -W <scriptout> 将所有输入的命令写入到文件 <scriptout> -x 编辑加密的文件 --startuptime <file> Write startup timing messages to <file> -i <viminfo> 使用 <viminfo> 取代 .viminfo --clean 'nocompatible', Vim defaults, no plugins, no viminfo -h 或 --help 打印帮助(本信息)并退出 --version 打印版本信息并退出
栗子:
vim settings.json #打开当前目录下的settings.json文件 vim /home/fiver/www/settings.json #打开/home/fiver/www目录下的settings.json文件 vim -R settings.json #以只读方式打开settings.json文件
vim内置命令参见http://pizn.github.io/2012/03/03/vim-commonly-used-command.html
cp命令
说明:复制文件
用法:
cp [选项]... [-T] 源文件 目标文件 或:cp [选项]... 源文件... 目录 或:cp [选项]... -t 目录 源文件... Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. 必选参数对长短选项同时适用。 -a, --archive 等于-dR --preserve=all --attributes-only 仅复制属性而不复制数据 --backup[=CONTROL 为每个已存在的目标文件创建备份 -b 类似--backup 但不接受参数 --copy-contents 在递归处理是复制特殊文件内容 -d 等于--no-dereference --preserve=links -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE -n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效) -P, --no-dereference 不跟随源文件中的符号链接 -p 等于--preserve=模式,所有权,时间戳 --preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果 可能保持附加属性:环境、链接、xattr 等 --sno-preserve=属性列表 不保留指定的文件属性 --parents 复制前在目标目录创建来源文件路径中的所有目录 -R, -r, --recursive 递归复制目录及其子目录内的所有内容 --reflink[=WHEN] 控制克隆/CoW 副本。请查看下面的内如。 --remove-destination 尝试打开目标文件前先删除已存在的目的地 文件 (相对于 --force 选项) --sparse=WHEN 控制创建稀疏文件的方式 --strip-trailing-slashes 删除参数中所有源文件/目录末端的斜杠 -s, --symbolic-link 只创建符号链接而不复制文件 -S, --suffix=后缀 自行指定备份文件的后缀 -t, --target-directory=目录 将所有参数指定的源文件/目录 复制至目标目录 -T, --no-target-directory 将目标目录视作普通文件 -u, --update 只在源文件比目标文件新,或目标文件 不存在时才进行复制 -v, --verbose 显示详细的进行步骤 -x, --one-file-system 不跨越文件系统进行操作 -Z set SELinux security context of destination file to default type --context[=CTX] like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX --help 显示此帮助信息并退出 --version 显示版本信息并退出
栗子:
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2 cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
mv命令
说明:移动文件、目录、更改目录(文件)名
mv [选项]... [-T] 源文件 目标文件 或:mv [选项]... 源文件... 目录 或:mv [选项]... -t 目录 源文件... Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. 必选参数对长短选项同时适用。 --backup[=CONTROL] 为每个已存在的目标文件创建备份 -b 类似--backup 但不接受参数 -f, --force 覆盖前不询问 -i, --interactive 覆盖前询问 -n, --no-clobber 不覆盖已存在文件 如果您指定了-i、-f、-n 中的多个,仅最后一个生效。 --strip-trailing-slashes 去掉每个源文件参数尾部的斜线 -S, --suffix=SUFFIX 替换常用的备份文件后缀 -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -Z, --context set SELinux security context of destination file to default type --help 显示此帮助信息并退出 --version 显示版本信息并退出 The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: none, off 不进行备份(即使使用了--backup 选项) numbered, t 备份文件加上数字进行排序 existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份 simple, never 永远使用普通方式备份
栗子:
mv file1 /home/fiver #把文件file1移动到/home/fiver中 mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中 mv file1 file2 # 把文件file1重命名为file2
rm命令
说明:删除命令
用法(常用):
-f :就是force的意思,忽略不存在的文件,不会出现警告消息 -i :互动模式,在删除前会询问用户是否操作 -r :递归删除,最常用于目录删除,它是一个非常危险的参数
栗子:
rm file #删除file rm -r dir #删除dir目录 rm -rf dir#删除dir目录,包括里面所有的文件 rm -- -wp #删除以wp开头的文件 rm -i file # 删除文件file,在删除之前会询问是否进行该操作 rm -fr dir # 强制删除目录dir中的所有文件
ps命令
说明:该命令用于将某个时间点的进程运行情况选取下来并输出,process之意
用法:
-A :所有的进程均显示出来 -a :不与terminal有关的所有进程 -u :有效用户的相关进程 -x :一般与a参数一起使用,可列出较完整的信息 -l :较长,较详细地将PID的信息列出
栗子:
ps aux # 查看系统所有的进程数据 ps ax # 查看不与terminal有关的所有进程 ps -lA # 查看系统所有的进程数据 ps axjf # 查看连同一部分进程树状态
chmod命令
说明:改变权限
用法:
chmod [-R] xyz 文件或目录 -R:进行递归的持续更改,即连同子目录下的所有文件都会更改
栗子:
chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x chmod g+w file # 向file的文件权限中加入用户组可写权限
非常感谢