Linux中基本命令 原

一、命令提示符介绍

1、命令权限

[root@localhost ~]#		#/root
[xinghan@localhost ~]$		#/home/xinghan

如上:[用户名@主机名 当前目录] #超级管理员权限 $普通权限

2、命令格式

命令 选项 参数 (三者之间要有空格,区分大小写)

command [-options] [args]

[args]:参数(多个参数之间用空格分隔)

命令格式验证:

[root@localhost ~]# ls -a -l install.log
-rw-r--r--. 1 root root 41364 Oct  4  2015 install.log
[root@localhost ~]# ls -al install.log
-rw-r--r--. 1 root root 41364 Oct  4  2015 install.log
[root@localhost ~]# ls -al install.log install.log.syslog 
-rw-r--r--. 1 root root 41364 Oct  4  2015 install.log
-rw-r--r--. 1 root root  9154 Oct  4  2015 install.log.syslog
[root@localhost ~]# ls -al install*
-rw-r--r--. 1 root root 41364 Oct  4  2015 install.log
-rw-r--r--. 1 root root  9154 Oct  4  2015 install.log.syslog
[root@localhost ~]# ls -al *.log
-rw-r--r--. 1 root root 41364 Feb  8  2017 install.log
[root@localhost ~]# ls -al *.log*
-rw-r--r--. 1 root root 41364 Feb  8  2017 install.log
-rw-r--r--. 1 root root  9154 Feb  8  2017 install.log.syslog

3、获取命令帮助

1、whatis 命令(如果不成功,则执行makewhatis)

2、使用help查看内建命令的帮助(enable查看内建命令)

3、man 命令:enter按行翻,空格按页翻;HOME/END键可以快速到首页/尾页(SecureCRT中无效);查找按 /要查找的内容,查找 下一个/上一个:按n/N;退出按q。

4、info 命令

5、命令--help

查看内建命令:enable

示例:

[root@localhost ~]# whatis ls
ls                   (1)  - list directory contents
ls                   (1p)  - list directory contents
[root@localhost ~]# whatis date
date                 (1)  - print or set the system date and time
date                 (1p)  - write the date and time
[root@localhost ~]# help cd
cd: cd [-L|-P] [dir]
	Change the shell working directory.
[root@localhost ~]# help ls
-bash: help: no help topics match `ls'.  Try `help help' or `man -k ls' or `info ls'.

二、常用命令

1、目录文件相关操作

1.新增

创建目录:mkdir。

命令格式:mkdir 目录名 [目录1]

参数:-p:同时创建多层目录。

示例:

[root@localhost ~]# mkdir /home/demo/abc
mkdir: cannot create directory `/home/demo/abc': No such file or directory
[root@localhost ~]# mkdir /home/demo
[root@localhost ~]# cd /home/demo/
[root@localhost demo]# mkdir abc xyz
[root@localhost demo]# ls
abc  xyz
[root@localhost ~]# mkdir  -p /home/a/b/c      #一次性将 a/b/c全部创建出来

2.删除

删除目录或者文件:rm。

命令格式:rm -rf  目标

参数:-r递归删除、-f强制删除。

删除空目录:rmdir。

rmdir  目录

示例:

[root@localhost home]# ls
aaa  demo  ds  xinghan  zs
[root@localhost home]# rm aaa
rm: cannot remove `aaa': Is a directory
[root@localhost home]# rm -r aaa         删除目录需要带  -r
rm: descend into directory `aaa‘?  不带-f会提示是否删除  输入y回车才删除,不输入y不删
[root@localhost home]# ls
aaa  demo  ds  xinghan  zs
[root@localhost home]# rm -rf aaa    -f表示强制删除
[root@localhost home]# ls
demo  ds  xinghan  zs

3.修改

touch:创建空文件或者修改文件的时间戳。

命令格式:touch  文件名称

文件已存在会更改文件的时间戳,文件不存在会创建文件。

示例:

[root@localhost home]# cd /home/demo/
[root@localhost demo]# ls
abc  xyz
[root@localhost demo]# touch hello
[root@localhost demo]# ls
abc  hello  xyz
[root@localhost demo]# cd abc
[root@localhost abc]# ll install.log
-rw-r--r--. 1 root root 41364 Jan  1 23:45 install.log
[root@localhost abc]# date
Sun Jan  1 23:59:55 PST 2017
[root@localhost abc]# touch install.log
[root@localhost abc]# ll install.log
-rw-r--r--. 1 root root 41364 Jan  2 00:00 install.log

4.改名、移动

mv:用于移动一个目录,Linux中没有专门改名的命令,mv兼职改名。

命令格式:mv 源  目标

mv oldName newName

示例:

[root@localhost demo]# cd /home/demo/xyz/
[root@localhost xyz]# ls
abc
[root@localhost xyz]# mv abc /home/
[root@localhost xyz]# ls
[root@localhost xyz]# cd /home/
[root@localhost home]# ls
abc  demo  ds  xinghan  zs
[root@localhost home]# mv abc aaa         将abc改名为aaa
[root@localhost home]# ls
aaa  demo  ds  xinghan  zs
[root@localhost home]# 

5.查看目录

alias:查看命令别名。

pwd (print name of current/working directory):查看当前目录的全路径。

ls:显示目录或文件,执行ls指令可列出目录的内容,包括文件和子目录的名称。

命令格式:ls [options] [file_or_dirs]

选项和参数:

-a:或--all下所有文件和目录(包括隐藏的)。

-l:使用详细格式列表。

-R或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理。

-ld:显示指定的目录或文件的详细信息。

ls使用演示:

[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 41364 Oct  4  2015 install.log         大小单位为B字节
[root@localhost ~]# ls -lh install.log
-rw-r--r--. 1 root root 41K Oct  4  2015 install.log           大小单位为KB
[root@localhost ~]# ls -l /home/
drwxr-xr-x.  4 root  root  4096 Jan  1 23:30 demo
drwx------. 27 mengxb mengxb 4096 Oct  4  2015 ds
[root@localhost ~]# ls -ld /home/
drwxr-xr-x. 6 root root 4096 Jan  1 23:30 /home/
[root@localhost ~]# alias ll       #ll不是一个存在的命令,而是一个别名
alias ll='ls –l --color=auto‘
[root@localhost ~]# ls -R /home/     递归显示/home下的内容

6.查看文件

cat:不打开文件查看文件内容。

命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName

选项参数:

-n或--number:由1开始对所有输出的行数编号。

-b或--number-nonblank:和-n 相似,只不过对于空白行不编号。

-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v或--show-nonprinting。

示例:

cat -n textfile1 > textfile2 #把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 #把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。

7.切换

cd:切换目录命令。

命令格式:cd  目标目录

切换目录的时候可以使用绝对路径也可以使用相对路径。

绝对路径:以/开头的路径。

相对路径:相对当前位置的路。

“.”表示当前目录。“..”表示父目录。“-”表示前一个目录(类似电视遥控器上返回)。“~”表示当前用户home目录。

“~用户名”指定用户名对应的home目录/用户名(例如:~xinghan表示目录就是 /home/xinghan/)。

[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /etc
[root@localhost etc]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]# su xinghan  #可通过useradd  xinghan添加用户xinghan
[xinghan@localhost root]$ pwd
/root
[xinghan@localhost root]$ cd
[xinghan@localhost ~]$ pwd
/home/xinghan
[xinghan@localhost ~]$ cd /etc
[xinghan@localhost etc]$ cd ~
[xinghan@localhost ~]$

8.复制

cp:拷贝目录,可以同时拷贝多个文件,文件名之间用空格隔开。

命令格式:cp 文件… 目标目录 拷贝文件…到目标

参数:-r/R:递归拷贝

示例:

[root@localhost ~]# cp install.log install.log.syslog  /home/demo/abc
[root@localhost ~]# ll /home/demo/abc/
-rw-r--r--. 1 root root 41364 Jan  1 23:45 install.log
-rw-r--r--. 1 root root  9154 Jan  1 23:45 install.log.syslog
[root@localhost ~]# cd /home/demo/abc/
[root@localhost  abc]# cp /root/install.log  /home/demo/abc  #太麻烦
[root@localhost  abc]# cp ~/install.log  .
[root@localhost ~]# cd /home/demo/
[root@localhost demo]# ls
abc  xyz
[root@localhost demo]# cp abc xyz   #提示cp: omitting directory `abc'
[root@localhost demo]# cp -r abc xyz
[root@localhost demo]# ls xyz
abc

2、系统相关命令

1.开关机

shutdown -h now:立马关机。

shutdown -h 20:25:系统会在今天20:25关机。

shutdown -h +10:十分钟后关机。

shutdown -r now:系统立马重启。

shutdown -r +10:系统十分钟后重启。

reboot:就是重启。

halt:关闭系统,等同于shutdown -h now 和 poweroff。

2.运行级别

Linux一个有7个运行级别,分别如下:

0:关机。

1:单用户。

2:无网络的多用户。

3:命令行模式。

4:未用。

5:GUI(图形桌面模式)。

6:重启

运行级别的切换:init。

命令格式:init 运行级别

查看当前运行级别可以使用命令:who、runlevel。

who:显示当前运行级别以及系统当前时间。

命令格式:who -r

示例:

[root@localhost ~]# who -r
			run-level 5  2017-12-31 15:24

runlevel:使用时,直接输入当前命令,没有参数和选项,默认显示两个运行级别。

第一个表示当前级别之前使用的运行级别,若无则显示”N”。第二个表示当前运行级别。

示例:

[root@localhost ~]# runlevel
N 5

3、用户管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

1.新增用户

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

添加用户的命令:useradd。

命令格式:useradd [选项]  用户名

选项和参数:

-c:comment指定一段注释性描述。

-d:目录,指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g:用户组,指定用户所属的用户组,即用户的主组。

-G:用户组,指定用户所属的附加组。

-s:Shell文件,指定用户的登录Shell。

-u:用户号,指定用户的用户号,即UID。

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如:/etc/shadow、/etc/group等。

示例:

创建用户:
#useradd  tom
查看用户信息:
#id tom     ->显示UID/GID以及tom还属于哪些组
[root@localhost ~]# useradd tom
[root@localhost ~]# id tom
uid=500(tom) gid=500(tom) groups=500(tom)
创建用户,指定其UID为800:
[root@localhost ~]# useradd -u 800 jerry
[root@localhost ~]# id jerry
uid=800(jerry) gid=800(jerry) groups=800(jerry)

2.查看用户

id 查看单个用户的信息。

命令格式:id 用户名

新增用户中已有案例。

3.修改用户

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。修改已有用户的信息使用usermod命令。

命令格式:usermod  [选项]  用户名

选项和参数:

常用的选项包括-c、-d、-m、-g、-G、-s、-u等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

另外,-l这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

4.用户口令

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的Shell命令是:passwd。

超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

命令格式:passwd [选项] 用户名

选项和参数:

-l:(lock)锁定口令,即禁用账号。

-u:(unlock)口令解锁。

-d:(HOME_DIR)使账号无口令(删除密码)。(此命令仅管理员有效)

示例:

修改密码。

#passwd

修改自己的密码,普通用户修改比较麻烦,需要使用高强度密码。

#passwd tom

修改tom的密码,管理员才可以修改其他人的密码,不需要使用高强度密码。

注:高强度密码不是够长就行!!密码中需要包含字母、数字、特殊符号、密码长度。

5.切换用户

su切换用户。

命令格式:su 目标用户

管理员切用户不需要密码,用户切管理员需要输入管理员密码。

在CentOS中(其他版本的Linux未测试)普通用户切换root用户只需要输入su回车后输入root密码即可切换到root用户的身份。

6.删除用户

删除用户使用命令:userdel。

命令格式:

userdel 用户名:用于删除指定的用户。

userdel -r 用户名:在删除指定用户的同时删除他的home目录(工作中不建议使用,一个用户离职后,用户可以删掉,但是他的工作文件很可能还有用)。

示例:

[root@localhost ~]# userdel alice
[root@localhost ~]# ls /home/
alice  demo  ds  jerry  xinghan  tom  zs
[root@localhost ~]# rm -rf /home/alice/
[root@localhost ~]# ls /home/
demo  ds  jerry  xinghan  tom  zs

4、用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改,实际上就是对/etc/group文件的更新。

1.新增用户组

新增加用户组的命令为:groupadd。

命令格式:groupadd [选项] 用户组

选线和参数:

-g GID:指定新用户组的组标识号(GID)。

-o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

示例:

新增用户组emp
#groupadd emp
新增用户组market,并指定标识号为8000
#groupadd –g  8000  market
将用户添加到附加组
#usermod –aG  market   tom   (a:append  G:附加组)
创建一个用户组与root用户组GID系统
# groupadd –g 0 –o testroot

2.删除用户组

删除用户组使用的命令为:groupdel。

命令格式:groupdel 组名

示例:

从系统中删除组group1

# groupdel group1

如果删除的用户组,已经被用户追加为附件组,对应的所有用户的该附件组会被撤销掉。

如果被删除的用户组,已经被用户指定为主组,则该用户组无法被删除。(可以理解为像Windows中文件被占用时不能被删除。)

3.查看用户组

查看用户所在用户组使用命令:groups。

命令格式:groups 用户名

如果不跟用户名,则查询的是当前用户所在的分组。

4.修改用户组

修改用户组使用的命令为:groupmod。

命令格式:groupmod  [选项]  用户组

选项和参数:

-g GID:为用户组指定新的组标识号。

-o:与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

-n:新用户组,将用户组的名字改为新名字。

改名格式:groupmod -n newGroupName oldGroupName

示例:

1.将组group2的组标识号修改为102。
# groupmod -g 102 group2
2.将组group2的标识号改为10000,组名修改为group3。
# groupmod –g 10000 -n group3 group2

5.切换用户组

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:

$ newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组,此时直接输入id后可直接查看到用户的当前组已被切换(但注意这里成为组内成员并不代表拥有了root权限,想像一下你的情书是否愿意让组员查看。)

[xinghan@CentOS ~]$ id
uid=500(xinghan) gid=0(root) 组=500(xinghan),0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券