Linux 常见命令

最近在研究Ubuntu,收集了一些常见命令,汇总在一起给大家参考,如有错误,请指正。

基本机器操作命令:

shutdown -h now    现在马上关机
shutdown -r now    现在重新启动
reboot    现在重新启动

su -    如果当前是普通用户,则输入这条命令切换到管理员用户(root),如果要切换到其他用户则敲入  su - 用户名 如:  su - shenliang
logout    从当前用户注销(如果是在图形界面的终端的话,则是输入  exit  命令来退出当前用户)
cd    切换目录【如:cd / 表示切换到linux的根目录!!(/)表示根目录】
pwd    显示用户当前在哪个路径下的命令 (这个命令用的特别多,在命令行里如果不知道当前所处文件夹,可以输入该命令 pwd

文件操作命令:

cp命令

  该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。

  语法: cp [选项] 源文件或目录 目标文件或目录

  说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

  该命令的各选项含义如下:

  - a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

 

  - d 拷贝时保留链接。

  - p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

  - r (recursion)若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

 

  - f (force)删除已经存在的目标文件而不提示。

  - i (interactive)和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

 

  - l 不作拷贝,只是链接文件。

 

  需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。

  $ cp - i exam1.c /usr/wang/shiyan1.c

  该命令将文件exam1.c拷贝到/usr/wang 这个目录下,并改名为 shiyan1.c。若不希望重新命名,可以使用下面的命令:

  $ cp exam1.c /usr/ wang/

  $ cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。

 

mv命令

  用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。

  语法:mv [选项] 源文件或目录 目标文件或目录

  说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

  当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

  当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

  命令中各选项的含义为:

  - I (interactive) 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。

  - f (force) 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。

 

  如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。 

  需要注意的是,mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。

  例1:将/usr/xu中的所有文件移到当前目录(用“.”表示)中:

  $ mv /usr/xu/ * .

 

  例2:将文件wch.txt重命名为wjz.doc

  $ mv wch.txt wjz.doc

 

rm命令

  在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

 

  rm命令的一般形式为:

  rm [选项] 文件…

  如果没有使用- r选项,则rm不会删除目录。

 

  该命令的各选项含义如下:

  - f (force) 忽略不存在的文件,从不给出提示。

  - r (recursive)指示rm将参数中列出的全部目录和子目录均递归地删除。

  - i (interactive)进行交互式删除。

  使用rm命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入cp,mv或其他命令时,不小心误输入了rm命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用rm命令中的 i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将被保留。在下一个例子中,用户要删除文件test和example。然后会被要求对每个文件进行确认。用户最终决定删除example文件,保留test文件。

  $ rm - ii test example Remove test ?n

  Remove example ?y

root 权限和普通用户的切换:

1)从user用户切换到root用户

不管是用图形模式登录Ubuntu,还是命令行模式登录,我们会发现缺省的用户是user

但是当我们需要执行一些具有root权限的操作(如修还系统文件)时,经常需要用sudo授权,感觉很麻烦

此时我们可以切换到root用户,只需要简单的执行sudo su 即可

注意: 出于安全考虑,默认时Ubuntu的root用户时没有固定密码的,它的密码是随机产生并且动态改变

的,貌似是每5分钟改变一次,所以用su(switch user)是不可以的,因为我们不知道root的密码

 

(2)从root用户切回user用户

想从root用户切回user用户只需执行命令:su user (user是你自己安装时候的用户名),或是直接输入exit,也可Ctrl+D组合键推出

 

(3)给root设定一个密码

默认root用户是无固定密码的,并且是被锁定的,如果想给root设置一个密码

只需执行命令:sudo passwd root 然后根据提示一步一步来

这样皆可以向(1)里面提到的那样 su root ,输入root密码切换到root用户

注意:给root设定密码后,仍可以 sudo su 切换到root用户

附:在图形模式下 系统->系统管理->用户和组 也可以给root设置密码

 

(4)禁用和启用root登录

执行 sudo passwd -l root 即可(只是禁用root,但是root密码还保存着),再执行su root发现认证失败,

要再次启动root登录,执行 sudo passwd -u root 即可

 

(5)让Ubuntu自动登录

图形模式下 系统->系统管理->登录窗口 授权解锁后选择

作为 user自动登录 即可。

账户操作命令:

useradd 用户名  【添加一个用户】 如:useradd shenliang
passwd 用户名    【给指定的用户名修改密码】 如:passwd shenliang
userdel 用户名    【删除一个用户,但是该用户在home文件下的子文件夹会保留】 如:userdel shenliang
userdel -r 用户名    【删除一个用户,并且删除连同该用户在home文件夹下的子文件夹】 如:userdel -r shenliang

其他常见命令:

ln 【建立符号链接,类似于windows中的快捷方式(需root权限或相应用户权限)】
ln -s 源目标 目的目标    如:ln -s /etc/inittab /inittab(这样就会在根目录下建立一个inittab链接,该链接指向了etc目录下的inittab文件)

more 【显示文件内容,带分页】
less 【显示文件内容,带分页】 如果我们的一个文件里面有很多内容,就可以使用more命令给其分页 
如:more /etc/prelink.conf (给etc下面的prelink.conf文件内容进行分页显示)

| 【管道命令】 【这个命令在linux系统中用的很多】 ( | 这个命令的作用就是将 | 前面的那个命令的结果交给 | 后面的那个命令来处理)
如:ls /etc | more (|前面那个命令是显示出etc文件夹下的所有文件及目录,|后面那个命令就是以分页形式显示,
所以这个命令的意思就是 以分页来显示出etc目录下的所有文件和目录)

grep 【在文本中查询内容】 这条命令用的非常多 如:grep "shenliang" /home/Test.txt (在Test.txt文件中查询出包含有shenliang的那行文本信息)
 如果需要显示出所查文本所在行数则使用: grep -n "shenliang" /home/Test.txt(查询出Test.txt文件中shenliang该信息所在行数以及改行所有文本)
find 【搜索文件及目录】 如:find /home -name Test.java (在home文件夹下或者home中所有的子文件夹下查找名字为Test.java的文件)

重定向命令【> 、>>、<】
如:ls -l /etc> a.txt (将etc下面的列表信息写入到a.txt文件中【覆写】,如果之前不存在a.txt文件,则创建a.txt文件然后将信息写进去,
如果存在a.txt文件,则会覆盖掉之前的信息)
ls -al /etc>> aa.txt (将etc下面的列表信息追加到aa.txt文件信息后面)
从文件中输入信息 aaa < bbb

【cat、vi】(cat命令只能查看文件,vi命令既可以查看文件又可以修改文件,对于一些关键文件我们一般使用cat命令查看)
如:cat /etc/profile (只是查看该文件里的内容)    vi /etc/profile (查看、并且可以修改该文件里的内容)
原文地址:https://www.cnblogs.com/wyqx/p/3308651.html