Linux常用命令
一、终端(Terminal)与提示符
1、终端
退出终端程序:
-  输入 exit
-  使用快捷键 ctrl+d
2、提示符
[username@host~]$
-  username:表示当前用户名 
-  host:主机名 
-  ~:表示默认用户主目录
-  $:表示当前用户是普通用户,#:表示超级用户
二、简单命令
可以使用--help选项查看命令的帮助。
1、who
列出所有正在使用系统的用户、所用终端名和注册到系统的时间:

2、echo
将命令行中的参数显示到标准输出(即屏幕)上。

- echo -n
输出字符串后光标不换行
3、clear
清除屏幕上的内容,类似于DOS中的cls。
4、pwd
显示当前目录的绝对路径
5、ls
列出指定目录的内容,无参数时列出当前目录的内容。

6、date
显示或设置系统的日期和时间,如果命令没有选项和参数,则直接显示系统当前的日期和时间。
7、cal
显示公元1~9999年中任意一年或者任意一个月的日历。
- cal 2010
显示2010年的日历
- cal 6 2012
显示2012年6月的日历

8、passwd
修改当前用户的密码
9、su
更改用户的身份

设置root用户(初始)密码:
sudo passwd
输入两次密码后,提示passwd:password updated sucessfully表示修改成功。
10、uname
查看系统相关信息(内核版本号、硬件架构、主机名称、操作系统类型(多少位)等)

显示的信息中含有i686 i386表示32位系统;含有x86_64表示64位系统。
详细信息请参考:https://www.cnblogs.com/kerrycode/p/3785768.html
三、目录操作命令
1、mkdir
在当前目录或指定的目录下创建目录
-  常用选项 -  -m,--mode=MODE设置目录的存取权限为MODE 
-  -p,--parents建立多个目录时,如果新建目录所在路径中的父目录不存在,则自动创建它们 
 
-  

2、rmdir
删除一个或多个空的子目录。当前工作目录必须在被删除目录之上,不能是删除目录本身或者是被删除目录的子目录。
-  常用选项 -  -p,--parents递归删除目录,当子目录删除后如果其父目录也为空,则一同删除。如果有非空的目录,则该目录不会被删除。 
-  -v,--verbose对每个被处理的目录输出具体操作信息。 
 
-  

3、cd
改变工作目录
-  格式 cd [dir]
-  用法 -  cd /home/wzk将当前目录切换到 /home/wzk目录
-  cd或cd ~将当前目录切换到用户主目录 
-  cd ..或cd ../将当前目录切换到父目录 
 
-  
4、ls
列出指定目录的内容,如果参数FILE是目录,则列出该目录中的所有子目录与文件信息;如果FILE是文件,则列出该文件的属性。
-  常用选项 -  -a,--all显示指定目录下的所有子目录和文件,包括以’.’开头的隐藏文件 
-  -A,--almost-all显示指定目录下的所有子目录和文件,包括以’.’开头的隐藏文件,但不列出’.’和’..’目录项 
-  -b,--escape如果文件名中包含不可显示的字符,则用三位八进制数形式显示该字符 
-  -c按文件的修改时间排序 
-  -l以长格式显式文件的详细信息,输出的信息分为多列,依次是:文件类型与权限 链接数 文件主 文件组 文件大小 建立时间或修改时间 文件名。 
-  -d如果参数是目录,则只显示其名字(不显示它的子目录和文件);通常与 -l一起使用,显示目录的详细信息。
-  -F,--classify在列出的文件名后面添加不同的符号来区分不同类型的文件: -  /:目录
-  *:可执行文件
-  @:符号链接文件
-  |:管道文件
-  =:套接字文件
 
-  
 
-  

四、文件操作命令
1、cp
复制文件或目录,如果是复制目录,需要使用-r选项,将整个目录下的所有文件和子目录都复制到目标位置。
- 格式
cp [选项] 源文件或目录 目标文件或目录
-  常用选项 -  -a递归地将源目录下的所有子目录和文件都复制到目标位置,并且保留文件链接和文件属性不变,通常在复制目录时使用此参数。 
-  -f,--force如果目标文件不能打开,则不提示强行删除。 
-  -i,--interactive交互式复制,在覆盖目标文件之前提示用户并请求用户确认。 
-  -P除复制源文件的内容外,也将其修改时间和存取权限也复制到新文件中。 
-  -R,-r,--recursive递归地将源目录下的所有子目录和文件都复制到目标位置。 
-  -l不复制,只是创建指向源文件的链接文件,链接文件名由目标文件给出。 
 
-  
-  示例 -  cp hi.txt test/xi.txt将 hi.txt文件复制到test目录下,并改名为xi.txt
-  cp -r dir/subdir test将 dir/subdir下的所有文件和子目录复制到test目录中
-  cp ../dir/A*.java .将父目录中dir目录下的以A开头的java文件复制到当前目录 
 
-  
2、mv
重命名文件或目录,或者将文件从一个目录移动到另一个目录。如果目标位置是目录,则源文件会被移动到此目录下;如果目标位置不是目录,那么源文件名(只能有一个)会变为目标文件名,并覆盖已存在的同名文件。
- 格式
mv [选项] 源文件或目录 目标文件或目录
-  常用选项 -  -f,--force在覆盖已有的目标文件时不提示 
-  -i,--interactive交互式操作,如果源文件与目标文件同名,则询问用户是否覆盖目标文件。 
-  -t,--target-directory=DIRECTORY把所有的源文件或目录都移动到DIRECTORY中。 
 
-  
-  示例 -  mv xi.txt C.java将 xi.txt重命名为C.java
-  mv ../dir/* .将父目录dir中的所有文件移动到当前目录中 
 
-  
3、rm
删除指定的文件,默认不能删除目录。
- 格式
rm [选项] 文件
-  常用选项 -  -f,--force忽略不存在的文件,不提示。 
-  -i,--interactive交互式地删除文件。 
-  -R,-r,--recursive递归地删除指定目录下的子目录和文件。 
 
-  
-  示例 -  rm C.java删除当前目录下的 C.java文件
-  rm ?i.txt删除当前目录下文件名以任意字符开头且以 i.txt结尾的文件
-  rm -r *删除当前目录中除隐藏文件之外的所有文件和目录 
-  rm -r -i /home/wzk/document/test交互式地删除 /home/wzk/document下的test目录
 
-  
4、rename
用字符串替换的方式批量改变文件名,语法:
rename FROM TO FILE...
-  参数说明 -  FROM 需要替换的原文件名(字符串) 
-  TO 想要替换成的目标文件名(字符串) 
-  FILE… 要修改文件名的文件列表 
 
-  
-  示例 -  普通替换 将 source.c重命名为destination.crename source.c destination.c source.c
-  使用通配符 修改所有 .htm文件的后缀为.htmlrename .htm .html *.htm
 
-  
五、文件权限
1、文件类型及权限
使用ls -l命令的结果中第一列表示文件类型和权限:-rwxrwxrw-
-  -第一个字符表示文件类型,每个字符表示的含义如下: -  -:普通文件 
-  l:符号链接文件 
-  d:目录 
-  s:套接字文件(socket) 
-  p:命名管道文件(pipe) 
-  b:块设备文件 
-  c:字符设备文件 
 
-  
-  剩下的每三个字符表示不同用户的权限 -  第一组表示文件主的权限 
-  第二组表示同组用户的权限 
-  第三组表示其他用户的权限 
 
-  
-  权限字符的含义 -  文件 -  r:可读(可以使用cat、more等命令) 
-  w:可写(可以使用vi、cp等命令) 
-  x:可执行 
-  -:无存取权限 
 
-  
-  目录 -  r:允许列出该目录下的文件 
-  w:允许从目录中添加或删除文件,通常只有目录主才有写权限 
-  x:允许在目录中进行查找,也可以用cd命令将该目录改为工作目录 
-  -:无存取权限 
 
-  
 
-  
2、chmod
只有文件主或超级用户root才有权用chmod命令改变文件或目录的存取权限。
- 以符号模式改变权限
chmod [OPTION]... MODE[,MODE]... FILE...
-  常用选项 -  -v,--verbose显示命令处理每个文件的详细信息 
-  -c,--changes与 -v选项类似,只是在发生改变时才显示详细信息
-  -R,--recursive递归地修改文件或目录的权限 
 
-  
-  MODE MODE由:[who] [操作符号] [mode] 三部分组成: -  who 由以下字母中的一个或多个组成: -  u(user:文件主) 
-  g(group:同组用户) 
-  o(others:其他用户) 
-  a(all:所有用户,默认值) 
 
-  
-  操作符号 -  +:添加
-  -:移除
-  =:赋予
 
-  
-  mode 表示权限,可由r、w、x任意组合 
 
-  
-  示例 -  chmod a+x shell.sh给所有用户都添加对 shell.sh文件的执行权限 
-  chmod u=rwx,g+x,o-r shell.sh将 shell.sh的权限设置为文件主和同组用户可以读、写、执行,其他用户没有权限 
 
-  
-  以绝对方式改变权限 
chmod [OPTION]... OCTAL_MODEL... FILE...
使用8进制数表示权限,8进制数的每一位分别表示是否拥有读(r)、写(w)和执行(x)的权限,为1时表示有权限,为0时表示没有权限。
-  示例 -  chmod 744 shell.sh将文件 shell.sh的权限设置为:用户主具有读、写、执行的权限,同组用户和其他用户只有读的权限。 
 
-  
4、umask
设置新建文件时的默认权限(掩码),它的8进制数表示创建文件时不能被赋予的权限。
例如:umask值为002表示新建文件和目录的默认权限分别是:664(666-002)和775(777-002)。
- 格式
umask [-p] [-S] [mode]
mode以数字开头时,被解释为8进制数;否则被解释为符号方式。
- 查看当前掩码的设置

- umask u=rwx,g-wx,o=
设置新建文件的默认权限为用户主可以读、写和执行,同组用户只读,其他用户没有权限。
不能直接利用umask命令创建一个可执行文件,用户只能在创建后使用chmod命令设置它的执行权限;如果创建的是目录或是通过编译程序创建的文件,则不受此限制。

- umask 0002
使用8进制数值来设置

六、改变用户组和文件主
1、chgrp
修改文件或目录所属的用户组
- 格式
chgrp [OPTION]... GROUP FILE...
-  示例 -  chgrp alliance ./test.txt修改当前目录下的 test.txt文件的用户组为alliance
-  chgrp -R friend /home/wzk/document修改 /home/wzk/document以及它的子目录下的所有文件的用户组为friend
 
-  
2、chown
修改文件或目录的所有者和(或)所属组
- 格式
chown [OPTION]... OWNER[:[GROUP]] FILE...
chown [OPTION]... :GROUP FILE...
-  chown -R Tom ./mydir将当前目录中的mydir目录以及mydir中的所有文件和子目录的文件主改为Tom 
七、联机帮助命令
1、man
格式化显示联机帮助手册页
man [OPTION]... name...
- man chown
查看chown命令的帮助手册
2、help
查看所有shell内置命令的帮助信息
help [-s] [pattern ...]
- help cd
查看内置命令cd的用法
- help -s cd
只显示cd命令使用方法的简要说明