[root@localhost ~]# #/root [xinghan@localhost ~]$ #/home/xinghan
如上:[用户名@主机名 当前目录] #超级管理员权限 $普通权限shell
命令 选项 参数 (三者之间要有空格,区分大小写)bash
command [-options] [args]
[args]:参数(多个参数之间用空格分隔)网络
命令格式验证:app
[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
一、whatis 命令(若是不成功,则执行makewhatis)测试
二、使用help查看内建命令的帮助(enable查看内建命令)ui
三、man 命令:enter按行翻,空格按页翻;HOME/END键能够快速到首页/尾页(SecureCRT中无效);查找按 /要查找的内容,查找 下一个/上一个:按n/N;退出按q。spa
四、info 命令.net
五、命令--help命令行
查看内建命令:enablecode
示例:
[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'.
建立目录: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所有建立出来
删除目录或者文件: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
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
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]#
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下的内容
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 里。
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 ~]$
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
shutdown -h now:立马关机。
shutdown -h 20:25:系统会在今天20:25关机。
shutdown -h +10:十分钟后关机。
shutdown -r now:系统立马重启。
shutdown -r +10:系统十分钟后重启。
reboot:就是重启。
halt:关闭系统,等同于shutdown -h now 和 poweroff。
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
用户帐号的管理工做主要涉及到用户帐号的添加、修改和删除。
添加用户帐号就是在系统中建立一个新帐号,而后为新帐号分配用户号、用户组、主目录和登陆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)
id 查看单个用户的信息。
命令格式:id 用户名
新增用户中已有案例。
修改用户帐号就是根据实际状况更改用户的有关属性,如用户号、主目录、用户组、登陆Shell等。修改已有用户的信息使用usermod命令。
命令格式:usermod [选项] 用户名
选项和参数:
经常使用的选项包括-c、-d、-m、-g、-G、-s、-u等,这些选项的意义与useradd命令中的选项同样,能够为用户指定新的资源值。
另外,-l这个选项指定一个新的帐号,即将原来的用户名改成新的用户名。
用户管理的一项重要内容是用户口令的管理。用户帐号刚建立时没有口令,可是被系统锁定,没法使用,必须为其指定口令后才可使用,即便是指定空口令。
指定和修改用户口令的Shell命令是:passwd。
超级用户能够为本身和其余用户指定口令,普通用户只能用它修改本身的口令。
命令格式:passwd [选项] 用户名
选项和参数:
-l:(lock)锁定口令,即禁用帐号。
-u:(unlock)口令解锁。
-d:(HOME_DIR)使帐号无口令(删除密码)。(此命令仅管理员有效)
示例:
修改密码。
#passwd
修改本身的密码,普通用户修改比较麻烦,须要使用高强度密码。
#passwd tom
修改tom的密码,管理员才能够修改其余人的密码,不须要使用高强度密码。
注:高强度密码不是够长就行!!密码中须要包含字母、数字、特殊符号、密码长度。
su切换用户。
命令格式:su 目标用户
管理员切用户不须要密码,用户切管理员须要输入管理员密码。
在CentOS中(其余版本的Linux未测试)普通用户切换root用户只须要输入su回车后输入root密码便可切换到root用户的身份。
删除用户使用命令: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
每一个用户都有一个用户组,系统能够对一个用户组中的全部用户进行集中管理。不一样Linux系统对用户组的规定有所不一样,如Linux下的用户属于与它同名的用户组,这个用户组在建立用户时同时建立。
用户组的管理涉及用户组的添加、删除和修改,实际上就是对/etc/group文件的更新。
新增长用户组的命令为: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
删除用户组使用的命令为:groupdel。
命令格式:groupdel 组名
示例:
从系统中删除组group1
# groupdel group1
若是删除的用户组,已经被用户追加为附件组,对应的全部用户的该附件组会被撤销掉。
若是被删除的用户组,已经被用户指定为主组,则该用户组没法被删除。(能够理解为像Windows中文件被占用时不能被删除。)
查看用户所在用户组使用命令:groups。
命令格式:groups 用户名
若是不跟用户名,则查询的是当前用户所在的分组。
修改用户组使用的命令为: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
若是一个用户同时属于多个用户组,那么用户能够在用户组之间切换,以便具备其余用户组的权限。用户能够在登陆后,使用命令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
上一篇:虚拟机:CentOS 7系统安装
下一篇:Linux基础之权限