Linux命令行与图形界面进行切换
1.实时切换
1.1 命令行->图形
startx
1.2 图形->命令行
Ctrl+Alt+F1--F6
2.启动默认
2.1 启动进入命令行
修改/etc/inittab文件
"id:3:initdefault"
2.2 启动进入图形界面
修改/etc/inittab文件
1.1 命令行->图形
startx
1.2 图形->命令行
Ctrl+Alt+F1--F6
2.启动默认
2.1 启动进入命令行
修改/etc/inittab文件
"id:3:initdefault"
2.2 启动进入图形界面
修改/etc/inittab文件
"id:5:initdefault"
在线帮助命令
man命令
help命令
Linux中有存储位置的命令为外部命令,而没有存储位置的命令为内部命令。
内部命令是嵌入在LInux Shell中的,所以是看不到的
内部命令格式:help 命令
外部命令格式:命令 --help
如何判断是内部命令还是外部命令:使用Type :1.内部:***is a shell builtin
2.外部:显示存储位置
Whereis 命令
查找与某一命令相关的文件的存放位置
格式:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S<目录>...][文件...]
主要选项:
-b 只查找二进制文件
-m 只查找手册页
-s 查找源程序文件
课后练习题:
1.Rebot命令的作用是:重启Linux系统
2.在Linux的命令行模式下,需要重复执行之前执行过的命令,可使用的快捷方法是:按上下键
3.使用ls命令的显示结果中,绿色字体的文件代表的是:可执行文件
4.在命令行模式下,命令提示符中的“~”代表的含义是:当前用户的属主目录
5.在Linux中,查看本机I地址的命令是:ifconfig
6.配置主机网卡IP地址的配置文件是:/etc/sysconfig/network-scripts/ifcfg-eth0
7.Linux系统是一个什么样的操作系统:多用户,多任务
8.修改以下哪个配置文件,可以让Linux默认以命令行的方式启动:inittab
9.命令行模式下,如果命令输入太长,看起来比较累的话,可以使用什么符号使指令连续到下一行?:
10.WEB服务器默认使用端口是:80
11.要求Linux在今天18:00定时关机,可以使用命令:shutdown -h 18:00
12.在ls命令中,以下参数()可以显示文件和目录的完整属性信息:-l
Linux根目录
Linux的根目录: / 与Windows下的斜杠是相反的,这一点要注意
根目录有两种显示方式:
一.列表型:
命令:ls-l/
二.树形
命令:tree /
相对路径和绝对路径
.目录当前目录
..目录表示当前目录的上一层目录
Vi编辑器
作用:vi命令用于编辑文本文件
语法:vi文件名
直接打vi表示进入编辑器
vi+文件名表示进入这个文件,打开后处于一般模式,按字母i进入编辑模式
三种模式:1.一般模式
2.编辑模式(左下角有insert表示处于编辑模式,按esc退出编辑模式进入命令行模式)
3.命令行模式(w表示这一次需要写保存,q表示保存好之后退出编辑器)
文件与目录操作命令
cd
change directory的缩写
作用:改变当前路径
语法:cd[相对路径或绝对路径]
cd /回到根目录
cd ~ 回到属主目录
pwd
作用:显示当前所在的目录
语法:pwd
mkdir
作用:创建目录,目录可以是相对路径也可以是绝对路径
可以同时建立多个目录
语法:mkdir[-option]目录名称
常用参数:
-p:当建立的目录的父目录不存在时,同时建立父目录
e.g.: mkdir -p a/b
rmdir
作用:删除目录,目录可以是相对路径也可以是绝对路径,但是需要注意,目录必须为空
语法:rmdir 目录名称
cp
作用:复制文件
语法:cp[-option] 源 目标
e.g.: cp a/123 b/
还可以改名:cp a/123 b/456
拷贝目录下的所有文件:cp b/* c/
常用参数:
-r:递归处理,将指定目录下的文件与子目录一并处理
cp a b c表示将 a目录和b目录下的所有文件一同拷贝到c目录
-u:如果源文件较新,或者没有目标文件,才进行复制,常用于备份
rm
作用:删除文件
语法:rm[-option]文件名
常用参数:
-f:force,强制删除,不提示用户是否需要删除的信息
-r:循环删除,常用于目录删除
mv
作用:移动文件或目录
语法:mv 源 目标
e.g.: mv test ../b
cd ../b
ls
管道命令竖线
作用:把一个命令的输出送给其他命令作为输入
语法:command 1 | command 2
e.g: ls | more
ls | less
more:分屏显示
less:分屏显示,可以用上下键来转动文件,最后需要使用 :+ q 来进行退出
查看文件内容命令
cat
作用:将一个文件的内容连续输出到屏幕上
语法:cat[-option]文件名
常用参数:
-n:连行号一起显示在屏幕上
-b:连行号一起显示在屏幕上,但空行不算
e.g.:
cat -n /etc/inittab
more
作用:在屏幕上显示文件内容,如果内容过多,在显示完一屏内容后停下,等待用户往下翻
语法:more[-option]文件名
常用参数:
+n:从第n行开始显示
-n: 定义屏幕大小为n行
下翻命令:回车(单行下翻),ctrl+f(整页下翻),空格键(整页下翻)
未到底退出则按q键
e.g.:
more /etc/inittab
more +3 -5 /etc/inittab 从第三行显示文件并且每一屏幕显示5行
less(似乎在7.0的版本中有些问题)
作用:屏幕上显示文件内容
和more命令唯一区别就是可以使用pagedow可以n和pageup进行上翻和下翻,more仅能向前移动
却不能向后移动
语法:less[-option]文件名
常用参数:
-N 显示每行的行号
按q可以退出less命令;空格键滚动一页;回车键 滚动一行。
e.g.:
less /etc/inittab
head
作用:显示文件的头几行内容,如果不加-n参数,则默认显示文件的前10行内容
语法:head[-option]文件名
常用参数:
-n:指定显示多少行
head -6 /etc/inittab
tail
作用:显示文件的尾几行内容,和head相反。如果不加-n参数,则默认显示文件的后10行内容。
语法:tail[[-option]文件名
常用参数:
-n:指定显示多少行
课后练习题:
1.改变文件所有者的命令为:chown
2。在grep命令中,要打印文件abc中所有以linux开头的单词的行,可以用命令:grep ' <linux' abc
3.Linux系统中,当原文件被移除后,以下哪个链接会失效:符号链接
4.一个文件的权限是-rw-rw-r--,这个文件所有者的权限是read-write
5.执行了命令chmod 770 abc后,abc文件的权限变为:-rwxrwx---
Linux的文件打包与压缩
bzip2(单个文件)
作用:压缩工具,压缩后缀为.bz2
语法:bzip2[-option]文件名
常用参数:
-d:解压被压缩的文件(.bz2为后缀的文件,同样可以支持解压后缀为.bz,.tbz的文件)
-z:压缩指定的文件为.bz2后缀的文件
-k:压缩后保留原文件
gzip(单个文件)
作用:压缩工具。gzip压缩后缀为.gz。
语法:gzip[-option]文件名
常用参数:
-d:解压被压缩的文件(.gz为后缀的文件)
数字:指定压缩率,1为最低,9为最高
1的压缩率最低,但是压缩速度快
9的压缩率最高,但是压缩过程比较长
默认压缩率是6(即不加任何数字参数)
zip(多个)
作用:一个或多个文件压缩为一个压缩包,后缀为.zip
压缩语法:zip 压缩名 文件列表
解压语法:unzip 压缩名
tar(多个)
作用:打包工具
打包和压缩两者并不相同。打包的目的是为了方便归档、管理,压缩的目的是为了减少磁盘空间的消耗。
语法:tar[-option]打包名 需要打包的文件
常用参数:
-c:建立一个包
-t:查看包中的文件
-v:打包过程中显示被打包的文件
-f:需要打包的内容为文件
-x:解开一个包
-z:同时使用gzip工具进行压缩或解压
演示:tar -cvf mytar.tar (一定要加后缀) test1 test2
tar -xvf mytar.tar(解包)
如何对一批文件进行压缩
演示:tar -zcvf mytar2.tar.gz test1 test2
解压后并且解包:tar -zxvf mytar2.tar.gz
Linux su命令
su命令用于变更其他使用者的身份。除了root用户之外,需要使用该使用者的密码。
语法
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明:
- -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
- -m -p 或 --preserve-environment 执行 su 时不改变环境变数
- -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
- -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
- --help 显示说明文件
- --version 显示版本资讯
- - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
- USER 欲变更的使用者帐号
- ARG 传入新的 shell 参数
实例
变更帐号为 root 并在执行 ls 指令后退出变回原使用者
su -c ls root
变更帐号为 root 并传入 -f 参数给新执行的 shell
su root -f
变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)
su - clsung
切换用户
hnlinux@w3cschool.cc:~$ whoami //显示当前用户 hnlinux hnlinux@w3cschool.cc:~$ pwd //显示当前目录/home/hnlinux hnlinux@w3cschool.cc:~$ su root //切换到root用户密码: root@w3cschool.cc:/home/hnlinux# whoami root root@w3cschool.cc:/home/hnlinux# pwd/home/hnlinux
切换用户,改变环境变量
hnlinux@w3cschool.cc:~$ whoami //显示当前用户
hnlinux
hnlinux@w3cschool.cc:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@w3cschool.cc:~$ su - root //切换到root用户
密码:
root@w3cschool.cc:/home/hnlinux# whoami
root
root@w3cschool.cc:/home/hnlinux# pwd //显示当前目录
/root
hnlinux
hnlinux@w3cschool.cc:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@w3cschool.cc:~$ su - root //切换到root用户
密码:
root@w3cschool.cc:/home/hnlinux# whoami
root
root@w3cschool.cc:/home/hnlinux# pwd //显示当前目录
/root
Linux用户和组管理
Linux使用用户名和群组的权限来管理所有文件和目录的权限
/etc目录下
passwd文件中,显示的每一行都是一个账号,但是能够登录的只有自己创建的还有root用户,其他账户是
Linux系统为了能够正常交互自己创建的
root:x:0:0:root:/root:/bin?bash
root:密码:用户id:所属群组识别码:用户名称:属主目录:shell
shadow文件中
登录名:密码:::::(后面用到的暂时不用去了解)
如果密码是*或者!,表示该用户是无法登录的
groupadd
作用:添加新的群组
语法:groupadd[-option]群组名
常用参数:
-g GID:设定创建的群组的GID
如果不加-g参数,指定GID,则系统自动分配一个,从500开始按顺序排列
演示:groupadd -g 555 testteam
查看group文件:cat /etc/group
groupdel
作用:删除已存在的群组
语法:groupdel 群组名
需要注意的是,在删除群组前必须先将该群组内的用户删除。
useradd
作用:创建新用户
语法:useradd[-option]用户名
常用参数:
-u UID:设定新增用户的UID,如果不指定,则系统自动分配。
-g GID或者groupname:指定新增用户所在的群组,可以用GID或者是群组名。如果不指定群组,则系统将
自动创建一个和用户名同名的群组,并将该用户加入该群组。
-M:不建立“属主目录”。不使用该参数则默认建立属主目录。
-s shell:指定用户登录时启用的shell。如果不指定,一般使用/bin/bash.
userdel
作用:删除已存在的账户
语法:userdel[-option]用户名
常用参数:
-r:将该账号的家目录和邮件文件一并删除(减少垃圾文件)
usermod
作用:修改用户的信息,UID,所属组和使用的shell
语法:usermod[-option]用户名
常用参数:
-u UID:设定用户的UID
-g GID或者grouname:设定用户的所属群组,可以用GID或者是群组名。
-G GID或者groupname:设定用户的附加群组。
-s shell:指定用户登录时启用的shell。
password
作用:设定用户的密码
语法:password[username],不加用户名表示设定当前用户的密码
只有root用户才可以设定其他用户的密码
用户切换
su
作用:切换用户身份
语法 su[-][username]
[-]表示是否切换到属主目录
从coot用户切换到普通用户,不需要输入密码
如果要返回原来的用户,则使用exit命令
用户查询
id
作用:显示用户的UID,GID以及所拥有的群组
语法:id[username]
groups
作用:显示用户所属的群组信息
语法:groups[username]
Linux进程管理
&
作用:让当前工作放到后台运行
语法:command &
演示:find/-name install.log.syslog &
Ctrl+z
作用:暂停某工作
语法:就是在命令执行后,直接按Ctrl+z打断
fg
作用:将后台的工作推到前台来,如果后面不加参数,则默认将编号最接近的任务推到前台(用+号表示的)
语法:fg[%number]
参数说明:
%number:表示任务编号
jobs
作用:查询所有后台的任务
任务:jobs
ps
作用:显示当前系统中运行的进程
参数说明:
-a:所有进程
-u:显示用户
-x:列出所有tty进程,tty是当前所使用虚拟终端
-e:所有进程,与a略有区别,这里不做具体区分
-f:完整显示进程信息
常用:ps aux ps -ef
w
作用:查看当前系统负载
语法:w
vmstat
作用:监控当前系统状态
语法:vmstat
top
作用:动态监控进程所占系统的资源,每隔3秒变一次
语法:top
用法:Shift+<,>查看进程前后翻页
top -bn1 截取某一时刻的静态数据
free
作用:查看内存使用情况
语法:free[-option]
常用参数:
-b:用字节做单位
-k:用KByte做单位
-m:用MByte做单位
-t:显示total(总计)
kill
作用:停止或杀死进程,可以通过进程号pid或者任务编号来指定要操作的对象
语法:kill[-option]PID或者任务号
常用参数:
-l :列出全部的信号名称
-s:指定发送信号
注:只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。kill -s9
Linux网络管理
ifconfig
作用:显示或设置网卡
语法:ifconfig
ifconfig+名称+ip地址 表示修改ip地址(暂时修改)
ifconfig+名称+down 禁用网络
ifconfig+名称+up 启用网络
netstat
作用:显示网络状态
语法:netstat[-option]
常用参数组合:
-lnp 用于显示当前系统启用哪些端口
-an 用于显示网络连接状况
ping
作用:测试目标与本机的连接状况
语法:ping[-option]目标
常用参数:
-c数字:用于指定测试多少次,如果不设置该参数,将会无休止的进行测试,可以用Ctrl+c强行停止