初识linux 下
2016-05-15 16:04
246 查看
一.用户登录
UID,是系统自动为用户分配的,用来证明用户身份的数字,基本上是0-60000这个区间内的数字
管理员 :UID=0
普通用户 :UID=500(CENTOS6) UID=1000(CENTOS7)
普通用户又分为系统用户和登录用户,所谓的系统用户是指nologin的那些用户,用来运行 后台服务或进程的用户,不需要登录
决定是不是管理员的是用户的UID,而非用户的名字,root也可以不是管理员
查看UID的命令:id -u
二.终端
1.物理终端:直接接入本机的显示器及鼠标键盘
/dev/console
2.虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端
centos默认有6个,Ctrl+Alt+F1-6切换
/dev/tty#
3.模拟终端:
a.图形界面中打开的命令行(Windows的cmd,Linux图形桌面的终端)
b.基于ssh协议或者Telnet协议等远程打开的界面(例如XSHELL等)
/dev/pts/#
查看当前终端 tty
二.交互式接口
启动终端后,在终端设备附加的一个交互式应用程序
1.GUI:X protocol,window manager,desktop
2.CLI:shell程序
三.SHELL
shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口,接受用户输入的命 令并送入内核去执行
shell也是一种高级程序设计语言 (脚本语言)
查看shell版本
echo $SHELL
查看系统内存在多少种shell
cat /etc/shells
查看用户命名个是
echo $PS1
shell中命令有两种
内部命令:shell本身是个外部程序,但是它内置了很多的命令,这些命令称之为内部命令
外部命令:当前系统下其他路径下的可执行程序文件
这里注意,内部命令并不是文件,但是shell本身是文件,有的时候,一个命令是shell自带 的命令,但是,在/目录下却又有相同名字的文件,这个时候想要运行该文件,要将该文件 的绝对路径写清楚
查看是否为内部命令:type
type COMMAND
三个命令:type which whereis
type:查看是为内部命令还是外部命令,当为外部命令时将其路径显示出来,并将hash给 出,当命令具有命令别名时,只会将命令别名显示出来
which:给出命令的路径,并当命令具有命令别名的时候一起将命令别名显示出来
whereis:显示命令路径,并且将其说明文件手册一同显示出来
hash命令:当在首次执行外部命令的时候,系统会去命令的位置去读取该命令,并将之写入缓存 中一遍下次能够迅速启动
查看hash命令: hash
删除所有hash命令: hash -r
删除hash下的指定的某条命令用hash -d COMMAND,后面接的是命令的名字
注意:当命令在hash进缓存后,下次执行此命令是,系统是进入缓存中读取改命令的,因此在命 令有hash缓存时,更改了该命令的原路径,在此执行该命令的时候,系统是去缓存中的地址去读 取命令,所以会报错
四.命令格式
# COMMAND [OPTIONS..] [ARGUMENTS]
command:命令,必须在#后边,即最左侧
options:选项,用于启动或关闭命令的某个功能
短选项: -c,例如ls -a ,cp -a
长选项:--word,例如cp命令中的--preserv=all
arguments:参数,命令的作用对象
注意: 1.命令,多选项,多参数之间必须用空白符号隔开
2.取消命令和结束命令为 Ctrl+c Ctrl+d
3.多个命令共同执行,命令与命令之间必须以;隔开,例如:ls -al;cd /
4.一个命令太长时,可以用\分成多行
此处;将多个任务共同执行,前后的命令是没有逻辑关系的,和后边用到的|不同,|前后的命令 是有联系的,前一条命令的输出数据是后一条命令的输入程序
五.简单命令
1.date命令:显示日期
date [OPTION]... [+FORMAT]
date +%a-%F :两个选项之间需要用减号-链接
常见的选项:
%a:星期缩写
%A:星期的全拼
%Y:年
%m:月
%d:日
%H:小时
%M:分钟
date -d “# days” +% :显示#天的信息,#等于负数时,显示#天前的信息,#是正数时, 显示几天后的信息
-d “# days” :两者要写在一起,“# days”可以换成一些简单的单词如now,yesterday 等
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date 月日时分世纪年.秒
如 20160511 14:23:45 date 051114232016.45
2.cal命令:查看日历
cal 月 年
3.nano:nano文本编辑器
nano file
4. echo命令:回显
echo [-ne] [字符]
-n:不显示换行
-e:实现转义字符
\a:警告音
\b:退格键
\c:不加上换行符号
\n:换行,光标移到首行
\r:光标移到首行,但不换行
\t:插入tab
\\:插入\
echo中单双引号
“”中的内容,会显示出来,例如echo “$PATH”会显示PATH变量中的内容
‘’中的内容,会以纯文本的形势显示出来
echo反引号或$()
echo中可以引用命令,但该命令必须用``或者$()
使用echo可以再终端之间发送消息
echo i am wuyanzu >(句号) /dev/pts/2
echo也是变量相关的一个命令
5.history历史命令
history的命令记录在文件.bash_history中
history #:显示最近的#条历史命令,当不写#时,则显示全部的历史命令
history -c:删除全部的历史命令(指示清空shell中的数据,仍旧可以从.bash_history中读取)
history -d 偏移量 :在偏移量的那条命令
history -w:将shell中的历史命令写入到文件中
history -r:将文件中的历史命令读取到shell中
!#:执行历史文件列表第#条命令
!!:执行上一条命令
!STRING:执行以STRING打头的命令
!?abc:执行包含abc的命令
!^:上一个命令的第一个参数
!$:上一个命令的最后一个参数
!:n:上一个命令的第N个参数
!*:上一个命令的全部参数
!n:^:第n个命令的第一个参数
!n:$:第n个命令的最后一个参数
!n:n:第n个命令的第N个参数
!n:*:第n个命令的全部参数
!STR:^:最近的以STR打头的命令的第一个参数
!STR:$:最近的以STR大头的命令的最后一个参数
!STR:*:最近的 以STR打头的命令的全部参数
!STR:n:最近的以STR打头的命令的第n个参数
Ctrl+r:搜索命令
ESC+.:上一个参数,同!$
echo $HISTSIZE:命令列表能保存的最大历史命令条数
$HISTFILE:显示保存文件
$HISTFILESIZE:显示历史文件能保存的最大历史命令条数
环境变量:$HISTCONTORL:显示历史文件保存规则
ignoredups:忽略重复命令
ignorespace:忽略空白开头的命令
ignoreboth:以上全部生效
$HISTTIMEFORMAT:在history中显示时间
使用export更改
export HISTTIMEFORMAT=“%F %T”
HISTTIMEFORMAT的值中也可以加入反引号植入命令,例如显示使用命令的 用户可以加入`whoami`
$HISTIGNORE=“str1:str2:...”:history中将不再显示包含 str1,str2的命令
修改环境变量: export HISTCONTROL=值
修改变量: 变量=值
以上,环境变量的内容虽然可以再所有的shell中成立,但是和变量一样,重启后设 置消失,只是针对内存。如果想修改,应该通过修改配置文件的方式
/etc/profile:这个文件是针对全局的配置文件 修改危险程度较高
~/.bash_profile:这个是针对当前用户的配置文件
6.screen
额外安装的同屏工具
screen -S 名字:建立
screen -x 名字:加入
screen -ls:显示当前所有screen
screen -r:转回当前screen
screen -d:退出
六.一些快捷键
1.命令补全
TAB:在输入命令时可以按TAB来补全命令
TABTAB:当命令不是唯一的时候,按一次tab会没有反应,这时候按2次会将所有的可能补全 命令显示出来
2.Ctrl+l:清屏
3.Ctrl+c:取消命令
4.ESC+.:写入以一条命令的参数
七.帮助命令
1.whatis COMMAND:显示命令在man手册中第几个手册,并将命令的作用简要表达出来
whatis是一个数据库,当系统刚安装时,可能需要手动安装,手动安装命令: makewhatis(centos6)和mandb(centos7)
2.COMMAND -help:内部命令专用帮助
3.COMMAND --help:外部命令用帮助
4.man # COMMAND
man手册:
1.用户命令 2.系统调用 3.C库调用 4.设备文件
5.配置文件格式 6.游戏 7.杂项 8.管理工具(管理员用来管理的工具)
9.linux内核相关
查看命令在哪个手册,可以用whatis COMMAND
man -k keyword :搜索man中有keyword的,使用的是whatis数据库
/keyword或者?keyword:搜索命令的man手册中的关键字
n:下一个 N:上一个
此处应该注意的时,man 5 下的手册全是用户的配置相关的文件,因此,在使用man 5 时后边的参 数应该是文件名即FILE而不是COMMAND
UID,是系统自动为用户分配的,用来证明用户身份的数字,基本上是0-60000这个区间内的数字
管理员 :UID=0
普通用户 :UID=500(CENTOS6) UID=1000(CENTOS7)
普通用户又分为系统用户和登录用户,所谓的系统用户是指nologin的那些用户,用来运行 后台服务或进程的用户,不需要登录
决定是不是管理员的是用户的UID,而非用户的名字,root也可以不是管理员
查看UID的命令:id -u
二.终端
1.物理终端:直接接入本机的显示器及鼠标键盘
/dev/console
2.虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端
centos默认有6个,Ctrl+Alt+F1-6切换
/dev/tty#
3.模拟终端:
a.图形界面中打开的命令行(Windows的cmd,Linux图形桌面的终端)
b.基于ssh协议或者Telnet协议等远程打开的界面(例如XSHELL等)
/dev/pts/#
查看当前终端 tty
二.交互式接口
启动终端后,在终端设备附加的一个交互式应用程序
1.GUI:X protocol,window manager,desktop
2.CLI:shell程序
三.SHELL
shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口,接受用户输入的命 令并送入内核去执行
shell也是一种高级程序设计语言 (脚本语言)
查看shell版本
echo $SHELL
查看系统内存在多少种shell
cat /etc/shells
查看用户命名个是
echo $PS1
shell中命令有两种
内部命令:shell本身是个外部程序,但是它内置了很多的命令,这些命令称之为内部命令
外部命令:当前系统下其他路径下的可执行程序文件
这里注意,内部命令并不是文件,但是shell本身是文件,有的时候,一个命令是shell自带 的命令,但是,在/目录下却又有相同名字的文件,这个时候想要运行该文件,要将该文件 的绝对路径写清楚
查看是否为内部命令:type
type COMMAND
三个命令:type which whereis
type:查看是为内部命令还是外部命令,当为外部命令时将其路径显示出来,并将hash给 出,当命令具有命令别名时,只会将命令别名显示出来
which:给出命令的路径,并当命令具有命令别名的时候一起将命令别名显示出来
whereis:显示命令路径,并且将其说明文件手册一同显示出来
hash命令:当在首次执行外部命令的时候,系统会去命令的位置去读取该命令,并将之写入缓存 中一遍下次能够迅速启动
查看hash命令: hash
删除所有hash命令: hash -r
删除hash下的指定的某条命令用hash -d COMMAND,后面接的是命令的名字
注意:当命令在hash进缓存后,下次执行此命令是,系统是进入缓存中读取改命令的,因此在命 令有hash缓存时,更改了该命令的原路径,在此执行该命令的时候,系统是去缓存中的地址去读 取命令,所以会报错
四.命令格式
# COMMAND [OPTIONS..] [ARGUMENTS]
command:命令,必须在#后边,即最左侧
options:选项,用于启动或关闭命令的某个功能
短选项: -c,例如ls -a ,cp -a
长选项:--word,例如cp命令中的--preserv=all
arguments:参数,命令的作用对象
注意: 1.命令,多选项,多参数之间必须用空白符号隔开
2.取消命令和结束命令为 Ctrl+c Ctrl+d
3.多个命令共同执行,命令与命令之间必须以;隔开,例如:ls -al;cd /
4.一个命令太长时,可以用\分成多行
此处;将多个任务共同执行,前后的命令是没有逻辑关系的,和后边用到的|不同,|前后的命令 是有联系的,前一条命令的输出数据是后一条命令的输入程序
五.简单命令
1.date命令:显示日期
date [OPTION]... [+FORMAT]
date +%a-%F :两个选项之间需要用减号-链接
常见的选项:
%a:星期缩写
%A:星期的全拼
%Y:年
%m:月
%d:日
%H:小时
%M:分钟
date -d “# days” +% :显示#天的信息,#等于负数时,显示#天前的信息,#是正数时, 显示几天后的信息
-d “# days” :两者要写在一起,“# days”可以换成一些简单的单词如now,yesterday 等
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date 月日时分世纪年.秒
如 20160511 14:23:45 date 051114232016.45
2.cal命令:查看日历
cal 月 年
3.nano:nano文本编辑器
nano file
4. echo命令:回显
echo [-ne] [字符]
-n:不显示换行
-e:实现转义字符
\a:警告音
\b:退格键
\c:不加上换行符号
\n:换行,光标移到首行
\r:光标移到首行,但不换行
\t:插入tab
\\:插入\
echo中单双引号
“”中的内容,会显示出来,例如echo “$PATH”会显示PATH变量中的内容
‘’中的内容,会以纯文本的形势显示出来
echo反引号或$()
echo中可以引用命令,但该命令必须用``或者$()
使用echo可以再终端之间发送消息
echo i am wuyanzu >(句号) /dev/pts/2
echo也是变量相关的一个命令
5.history历史命令
history的命令记录在文件.bash_history中
history #:显示最近的#条历史命令,当不写#时,则显示全部的历史命令
history -c:删除全部的历史命令(指示清空shell中的数据,仍旧可以从.bash_history中读取)
history -d 偏移量 :在偏移量的那条命令
history -w:将shell中的历史命令写入到文件中
history -r:将文件中的历史命令读取到shell中
!#:执行历史文件列表第#条命令
!!:执行上一条命令
!STRING:执行以STRING打头的命令
!?abc:执行包含abc的命令
!^:上一个命令的第一个参数
!$:上一个命令的最后一个参数
!:n:上一个命令的第N个参数
!*:上一个命令的全部参数
!n:^:第n个命令的第一个参数
!n:$:第n个命令的最后一个参数
!n:n:第n个命令的第N个参数
!n:*:第n个命令的全部参数
!STR:^:最近的以STR打头的命令的第一个参数
!STR:$:最近的以STR大头的命令的最后一个参数
!STR:*:最近的 以STR打头的命令的全部参数
!STR:n:最近的以STR打头的命令的第n个参数
Ctrl+r:搜索命令
ESC+.:上一个参数,同!$
echo $HISTSIZE:命令列表能保存的最大历史命令条数
$HISTFILE:显示保存文件
$HISTFILESIZE:显示历史文件能保存的最大历史命令条数
环境变量:$HISTCONTORL:显示历史文件保存规则
ignoredups:忽略重复命令
ignorespace:忽略空白开头的命令
ignoreboth:以上全部生效
$HISTTIMEFORMAT:在history中显示时间
使用export更改
export HISTTIMEFORMAT=“%F %T”
HISTTIMEFORMAT的值中也可以加入反引号植入命令,例如显示使用命令的 用户可以加入`whoami`
$HISTIGNORE=“str1:str2:...”:history中将不再显示包含 str1,str2的命令
修改环境变量: export HISTCONTROL=值
修改变量: 变量=值
以上,环境变量的内容虽然可以再所有的shell中成立,但是和变量一样,重启后设 置消失,只是针对内存。如果想修改,应该通过修改配置文件的方式
/etc/profile:这个文件是针对全局的配置文件 修改危险程度较高
~/.bash_profile:这个是针对当前用户的配置文件
6.screen
额外安装的同屏工具
screen -S 名字:建立
screen -x 名字:加入
screen -ls:显示当前所有screen
screen -r:转回当前screen
screen -d:退出
六.一些快捷键
1.命令补全
TAB:在输入命令时可以按TAB来补全命令
TABTAB:当命令不是唯一的时候,按一次tab会没有反应,这时候按2次会将所有的可能补全 命令显示出来
2.Ctrl+l:清屏
3.Ctrl+c:取消命令
4.ESC+.:写入以一条命令的参数
七.帮助命令
1.whatis COMMAND:显示命令在man手册中第几个手册,并将命令的作用简要表达出来
whatis是一个数据库,当系统刚安装时,可能需要手动安装,手动安装命令: makewhatis(centos6)和mandb(centos7)
2.COMMAND -help:内部命令专用帮助
3.COMMAND --help:外部命令用帮助
4.man # COMMAND
man手册:
1.用户命令 2.系统调用 3.C库调用 4.设备文件
5.配置文件格式 6.游戏 7.杂项 8.管理工具(管理员用来管理的工具)
9.linux内核相关
查看命令在哪个手册,可以用whatis COMMAND
man -k keyword :搜索man中有keyword的,使用的是whatis数据库
/keyword或者?keyword:搜索命令的man手册中的关键字
n:下一个 N:上一个
此处应该注意的时,man 5 下的手册全是用户的配置相关的文件,因此,在使用man 5 时后边的参 数应该是文件名即FILE而不是COMMAND
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍