Linux课堂笔记-第二天

Shell简介

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

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

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

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

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

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

一般选项都是在前边加 –

一般参数都是在前边加 /

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

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

建用户 useradd +用户名

检查主机名是否一致hostname

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

Bash简介

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

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

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

比如 which passwd 搜目录

组合键

Ctrl+L 清屏

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

Ctrl+C 终止命令  终止正在执行的命令

Ctrl+Z 挂起命令

Ctrl+A 光标快速移到行首

Ctrl+E 光标快速移到行尾

特殊字符

~用户主目录

通配符

*代表任意字符

?代表任何单一字符

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

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

<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创建管道文件的命令

时间: 2024-11-16 10:12:56

Linux课堂笔记-第二天的相关文章

Linux学习笔记 第二课

Linux第二课 一.yum命令使用 二.查看CentOS版本和内核 三.grub添加密码,自定义title,修改进度条   四.单用户模式   五.救援模式   六.Liunx启动过程                 一.yum 命令使用 1.[[email protected]~]# yum list 2.[[email protected]~]# yum -y intall rpm1 rpm2......     //  -y 不询问安装 3.[[email protected]~]# y

linux学习笔记-第二十七课-tamcat与resin

一.tomcat 1. 安装JDK [[email protected] src]# tar -zxvf jdk-7u79-linux-i586.tar.gz # 编辑初始化信息脚本 [[email protected] src]# mv jdk1.7.0_79  /usr/local/jdk1.7.0_79 [[email protected] src]# vim /etc/profile.d/java.sh JAVA_HOME=/usr/local/jdk1.7.0_79 JAVA_BIN=

Linux课堂笔记-第七天

scp  可以在两个Linux主机间复制文件 sftp  是一个交互式文件传输程式 mount -o ro /dev/vgo1/lv01 /dir01 只读 touch /dir01/file01 报错(因为只有读的,没有写的) mount -o remount,rw /dev/vgo1/lv01 /dir01 挂rw  读写 mount 查看 mke2fs   卷标 查看UUID pvdisplay /dev/sdb vgdisplay /vg01 lvdisplay /dev/vg01/lv

Linux学习笔记 - 第二章 Linux操作系统

1.硬件架构及系统组成 |--硬件架构 可用于运行linux系统的硬件架构 包括:x86 , x64(amd64) , m6800 , m68k , Arm , ultrasparc , power , powerpc(ppc) , MIPS , alpha , ... |--系统组成 硬件 内核 系统调用 库函数 外部应用 ... 2.Linux版本 2.1 Linux核心版本 稳定版本:2.2.x , 2.4.x , 2.6.x , 3.0.x , 4.0.x 开发版本:2.3.x , 2.

linux学习笔记-第二十六课-Samba与squid

一.Samba Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务.Linux用户通过配置使用Samba服务器可以实现与Windows 用户的资源共享.守护进程smbd和nmbd是Samba的核心,在全部时间内运行.nmbd程序使得通过企图计算机可以浏览Linux服务器. 1.Samba的安装 我们只通过yum安装 [[email protected] ~]# yum install -y samba 2.Samba配置 [[email protected] ~]# v

Linux课堂笔记

一.Linux应用领域及版本介绍. 1.服务器.嵌入式.桌面应用等. (1)在服务器领域中,需要安全和稳定,特别是越老的内核版本越安全.越稳定. (2)Linux主要分内核版和发行版. 内核版本2.6.18.2是主版本,质的变化时更改主版本:6是次版本,有重大更新的时候更改:18是末版本,更新比较小,或更新不重要更改. 二.Linux的一些规则. Linux严格区分大小写.(字符界面) {一切内容皆文件} Linux中所有内容以文件形式保存,包括硬件. Liunx不靠扩展名区分文件类型 有一些约

linux学习笔记-第二十二课-LNMP环境搭建(一)

一.LNMP环境搭建前的准备 LNMP就是Linux系统下Nginx+MySQL+PHP这种网站服务器架构,所以需要下载mysql,php,与nginx这三套软件. MySQL : 32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 64位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86

Linux学习笔记第二周第五次课(2月2日)

2.23/2.24/2.25 find命令 which搜索文件及文件别名,命令为#which ls where根据库找,要更新,有局限性#whereis ls locate模糊搜索,不精准#locate ls 安装locate,命令为#yum install -y mlocate 依赖数据库文件/var/lib/mlocate/mlocate.db,这个文件每天凌晨4点生成更新: 手动生成,命令为#updatedb 清屏ctrl+l,退出ctrl+d,不执行或中断ctrl+c,光标前字符删除ct

Nodejs课堂笔记-第二课 package.json的作用

本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 上节课,我们打造了一下IDE工具-web storm的显示界面.至少现在回到熟悉的sublime text界面了.这节课就开始正式学习nodejs了. 当我在web-storm创建了一个nodejs工程之后,首先浏览了一下工程结构,如下图所示: Nodejs 的工程结构还是较为简单的.各个目录功能基本都能猜个八九不离十.但在最下面的package.json文件引起了我的注意