Linux课堂笔记-第二天

Shell简介

Linux系统中,shell是最常用程序,作用侦听用户命令,启动命令所指定的进程并将结果返回给用户。他还是一种程序设计语言,是系统维护时的重要工具。

两部分组成,#为命令行提示符;#为超级用户,$为其它用户;

 @前为第一部分,用户的身份

@后为第二部分,你所在的主机名

~位置所展示的内容为当前用户所在的目录

Shell 命令三部分 shell命令、选项、参数;

一般选项都是在前边加

一般参数都是在前边加 /

每部分之间都是用空格来分隔的

# 切换 ¥  所用 su - user01)   还原 logout

建用户 useradd +用户名

检查主机名是否一致hostname

Id 查看身份       cd / (etc)  换目录

Bash简介

Bash目前是大多数Linux系统默认的Shell.

Bash的命令语法是Bourne  Shell命令语法的超集

which 命令,用于查看需要查找的东西在什么地方;

比如 which passwd 搜目录

组合键

ctrlL 清屏

ctrlD 工作结束,比如两个用户之间的切换。例:root用户和use用户之间的切换;

ctrlC 终止命令  终止正在执行的命令

ctrlZ 挂起命令

ctrlA 光标快速移到行首

ctrlE 光标快速移到行尾

特殊字符

~用户主目录

 

通配符

*代表任意字符

?代表任何单一字符

[ ]在方括号中是或的关系,不管在方括号内添加什么内容

[ ! ]加!是取反,除……之外的;

 

<tab>键,命令的自动补齐

<tab>键对命令、文件路径、变量自动补齐,按1<tab>如果未能补齐,说明有多个,需再按一次并进行选择;

历史命令

最简单的就是上箭头回翻查找。

 

$HISTFILE  可以查看到.bash_history  其中 . 是隐藏文件目录

$HISTSIZE  可以看到在$HISTFILE中存储1000条命令

$HISTFILESIZE 同样可以看到设置的$HISTFILE中存储的命令数

命令排列

;没有逻辑关系,第一个命令执行完闭无论成功与否都会自动执行第二个命令

&& 有逻辑关系,第一个命令执行成功之后才会执行后边的命令

 

du 命令,查看文件占用空间大小

du -hs /root 查看root目录所有文件占用空间数并用总数的形式展示

 

命令别名

查看系统预置别名命令:Alias

 

创建别名:alias la=’ls -a’

取消别名:unalias la

注:一般不建议创建其它的命令别名,过多的命令别名也会增加记忆命令的困难程度。

管道符

复杂的任务不是由大型软件完成,而是运用Shell的机制,组合许多小程序共同完成。管道就在其中发挥重要的作用,他可以将某个命令的输出信息当做某个命令的输入,由管道符号 | 来标识。

who 显示当前连接到系统的终端

wc   单词计数

wc -l 只看行数

more 分页显示

grep 寻找匹配关键字的行,并都显示出来。

Ps -ef 查看系统后台进程信息

rpm -qa 查询所有已经安装的软件包

sort  排序

管道符 | 用来把多个小的命令串联起来

比如:

Ls /etc / | more

重定向

输出重定向:即将某一命令执行的输出保存到文件中,如果已经存在相同的文件,那么覆盖源文件中的内容。

使用输出重定向将/boot目录的内容保存到/root/abc文件中

Ls / boot > /root /abc

使用echo命令和输出重定向创建/root/mm文件,文件内容是Hello

echo Hello > /root/mm

另外一种特殊的输出重定向是输出追加重定向,即将某一命令执行的输出添加到已经存在的文件中。

先创建touch / root /ao

echo Hello > /root/ao

cat /root /ao

echo  lkkk >>/root/ao

输入重定向

使用输入重定向将文件/root/mm的内容作为输入让cat命令执行

cat < /root/mm

使用输入追加重定向创建/root/bc文件

cat > /root/mm <<EOF

标准错误输出:

ls sfafsfsf 1>/root/test.log 2>/root/error.log

输出正确的结果重定向至/root/test.log 如果输出的是错误的则重定向至/root/error.log如果要把结果存到一起则把目录改成一致。也可以简写成

ls sfafsfsf 1>/root/test.log 2>&1

ls sfafsfsf &> /root/test.log

单一命令一般是二选一,所以不会出现覆盖的情况。但是一般正常用还是>>两个大于号

同时使用输出和错误重定向列出/nn目录内容到/root/00文件中

Ls / nn & >/root/00

cat  /root/ 00

Ls无法访问/nn没有那个文件或目录

因为没有/nn目录,所以最终使用了错误重定向

SSH协议

服务器端

SSH 协议的端口号 22

openssh    ssh协议具体的实现

 

SSH状态命令:

service sshd status

service sshd start

service sshd stop

服务查看命令

 

netstat -tInp | grep 22

netstat 查看主机网络状态

-t 仅看tcp/ip 协议

l 监听状态

n 数字的形式显示端口号

p 端口

grep 22 匹配有22的每一行信息

客户端

 远程连接的创建

远程图形界面的协议 VNC

 TigerVNC   Redhat oracle  用这个

realVNC

ultraVNC

 rpm -qa | grep vnc

 检查一下VNC

 tigervnc 安装

 vncserver 命令

 vncserver -list

vncserver -kill :多余的数值

 从图形界面应用程序中找到tigervnc

 输入IP以及要连接的服务号:1

 输入安装时设置的密码password

 vi /etc/selinux/config   SELINUX

 

Linux文件系统

ls -lh 查看某个文件的属性

10位组成,第一位时文件类型。后边九位代表权限

- 代表普通文件

d 代表目录

b 设备文件 一般存储在 /dev  逗号分隔,一个主设备号一个次设备号,主设备号用来说明这是什么设备,次设备号说明这是第几个。 字母b代表块类型设备,c 代表字符类型设备。

设备转化成设备文件,目的是简化用户对设备的调度。

tty 直连的虚拟设备编号

/dev/pts 目录

终端之间的通信

echo hello > /dev/pts/1

who     write  root  pts/1

 

p是管道文件 mkfifo mypipe创建管道文件的命令

posted on 2017-07-20 08:32  看透ら不说透  阅读(255)  评论(0编辑  收藏  举报