文档视界 最新最全的文档下载
当前位置:文档视界 › shell命令的使用

shell命令的使用

shell命令的使用
shell命令的使用

Shell命令的使用

Table of contents 目录

T ABLE OF CONTENTS 目录 (1)

1SHELL简介 (2)

2SHELL的使用 (2)

2.1帮助命令 (2)

2.2系统基本信息获取命令 (7)

2.2.1版本命令 (7)

2.2.2Show命令 (8)

2.3常用检测命令 (8)

2.3.1端口类 (8)

2.3.2收发包类 (10)

2.3.3程序调试类 (12)

2.4检测芯片的命令 (12)

2.4.1寄存器的访问 (12)

2.4.2内存的访问 (16)

2.4.3中断等其他命令 (20)

2.5高级配置命令 (21)

2.5.1Vlan管理命令 (21)

2.5.2L2 命令 (22)

2.5.3L3命令 (23)

2.5.4Mirroring命令 (25)

2.5.5Filtering (25)

2.5.6Spanning Tree Group Management (25)

2.6错误检测命令 (25)

2.6.1Text (25)

2.6.2CONFig (26)

3REFERENCE DOCUMENTS 参考文献 (26)

1 shell简介

shell即BCM Diagnostic Shell是一个普通的命令行解释器(CLI),它可以提供对嵌入了BCM交换芯片的嵌入式平台的一种精确控制作用。shell支持所有Broadcom交换芯片,并提供了对所有寄存器,内存和最高层API的直接访问功能。此外,由于shell支持交互和非交互两种模式,所以它可以嵌入到客户的设计中,以提供额外诊断服务。

Shell命令可被分为六大类:

1.帮助命令:??,?,help

2.系统基本信息获取命令:Version,show

3.常用检测命令:端口类:PORT,COMBO

收发包类:TX, PacketWatcher

程序调试类:Debug,DebugMod

4.检测芯片的命令:寄存器的访问:Getreg,EditReg 等

内存访问:Dump, Write 等

中断管理:INTR

5.高级配置命令:VLAN, L2, L3 等

6.错误检测命令:Test ,CONFig,等

2 Shell的使用

以DCN DS45XX项目为例来说明shell的使用。

2.1 帮助命令

BCM.0> help //输入help命令得到shell中所有可用的命令共201条

Help: Type help "command" for detailed command usage

Help: Upper case letters signify minimal match

Commands common to all modes:

? Display list of commands

ASSert Assert

BackGround Execute a command in the background.

BCM Set shell mode to BCM.

BCMX Set shell mode to BCMX.

break place to hang a breakpoint

CASE Execute command based on string match

CD Change current working directory

cint Enter the C interpreter

CONFig Configure Management interface

CONSole Control console options

CoPy Copy a file

CPUDB Update the CPU database

CTEcho Send an echo request using CPUTRANS

CTInstall Set up transport pointers in CPU transports

CTSetup Modify the CPUTRANS setup

DATE Set or display current date

DBDump Dump the current StackTask CPUDB

DBParse Parse a line of CPUDB dumped code

DeBug Enable/Disable debug output

DeBugMod Enable/Disable debug output per module

DELAY Put CLI task in a busy-wait loop for some amount of time

DEVice Device add/remove

DISPatch BCM Dispatch control.

Echo Echo command line

EDline Edit file using ancient line editor

EXIT Exit the current shell (and possibly reset)

EXPR Evaluate infix expression

FLASHINIT Initialize on board flash as a file system

FLASHSYNC Sync up on board flash with file system

FOR Execute a series of commands in a loop

Help Print this list OR usage for a specific command

HISTory List command history

IF Conditionally execute commands

JOBS List current background jobs

KILL Terminate a background job

LOCal Create/Delete a variable in the local scope

LOG Enable/Disable logging and set log file

LOOP Execute a series of commands in a loop

LS List current directory

MKDIR Make a directory

MODE Set shell mode

MORe Copy a file to the console

MoVe Rename a file on a file system

NOEcho Ignore command line

Pause Pause command processing and wait for input

PRINTENV Display current variable list

RCCache Save contents of an rc file in memory

RCLoad Load commands from a file

REBOOT Reboot the processor

RM Remove a file from a file system

RMDIR Remove a directory

RPC Control BCM API RPC daemon.

SAVE Write data to a file

SET Set various configuration options

SETENV Create/Delete a variable in the global scope

SHell Invoke a system dependent shell

SLeep Suspend the CLI task for specified amount of time

TIME Time the execution of one or more commands

Version Print version and build information Commands for current mode:

ADC Show MAX127 A/D Conversions

AGE Set ESW hardware age timer

Attach Attach SOC device(s)

Auth Port-based network access control

BaseBoard Configure baseboard system parameters.

BIST Run on-chip memory built-in self tests

BPDU Manage BPDU addresses

BTiMeout Set BIST operation timeout in microseconds

CABLEdiag Run Cable Diagnotics

CACHE Turn on/off software caching of tables

CellDataTest External packet buffer tuning routine

CellHDR Dump cell header given CBPHEADER index

CHecK Check a sorted memory table

CLEAR Clear a memory table or counters

CLOCKS Set core clock frequency.

COLOR Manage packet color

COMBO Control combination copper/fiber ports

COS Manage classes of service

CounTeR Enable/disable counter collection

CustomSTAT Enable/disable counter collection

DAC Set DAC register

DELete Delete entry by key from a sorted table

DETach Detach SOC device(s)

DMA DMA Facilities Interface

DmaRomTest Simple test of the SOC DMA ROM API

DMIRror Manage directed port mirroring

DMux Configure DMUX on a port

DSCP Map Diffserv Code Points

DTAG Double Tagging

Dump Dump an address space or registers

EditReg Edit each field of SOC internal register

EGRess Manage source-based egress enabling

EthernetAV Set/Display the Ethernet AV characteristics

EXTernalTuning External memory automatic tuning

EXTernalTuning2 External memory automatic tuning 2

EXTernalTuningSum External memory automatic tuning (summary)

FieldProcessor Manage Field Processor

Filter Create/Destroy CPU filter entries

Getreg Get register

GPORT Get a GPORT id

H2HIGIG Convert hex words to higig info

H2HIGIG2 Convert hex words to higig2 info

HASH Get or set hardware hash modes

HClksel Set I2C HClk (MUX for clock-chip-selects)

HeaderMode Get or set packet tx header mode

I2C Inter-Integrated Circuit (I2C) Bus commands

IBDump Display packets pending in the Ingress Buffer

INIT Initialize SOC and S/W

Insert Insert into a sorted table

INTR Enable, disable, show interrupts

IPFIX IPFIX

IPG Set default IPG values for ports

IPMC Manage IPMC (IP Multicast) addresses

L2 Manage L2 (MAC) addresses

L2MODE Change ARL handling mode

L3 Manage L3 (IP) addresses

LCDMSG Print message on Matrix Orbital LCD display (via I2C)

LED Control/Load LED processor

LINKscan Configure/Display link scanning

LISTmem List the entry format for a given table

Listreg List register fields

LOOKup Look up a table entry

MCAST Manage multicast table

MemSCAN Turn on/off software memory error scanning

MemWatch Turn on/off memory snooping

MIM Manage XGS4 Mac-in-MAC

MIRror Manage port mirroring

MmuConFiG Configure MMU mode

MODify Modify table entry by field names

ModMap MODID Remapping

Modreg Read/modify/write register

MPLS Manage XGS4 MPLS

MPLSER Manage XGS3 MPLS

MTiMeout Set MIIM operation timeout in usec

MultiCast Manage multicast operation

MUXsel Set I2C LPT state (MUX for clock-chip-selects)

NVram Manipulate Nonvolatile memory

OAM Manage OAM groups and endpoints

PacketWatcher Monitor ports for packets

PBMP Convert port bitmap string to hex

PCIE R/W PCIE core registers

PHY Set/Display phy characteristics /

POE Configure PowerOverEthernet controllers.

POESel Set I2C POE (MUX for poe-chip-selects)

POP Pop an entry from a FIFO

PORT Set/Display port characteristics

PortRate Set/Display port rate metering characteristics

PortSampRate Set/Display sflow port sampling rate

PortStat Display port status in table

PPDclk Show PPD clock delay

PROBE Probe for available SOC units

PUSH Push an entry onto a FIFO

PVlan Port VLAN settings

QDR Read/write over QDR interface

RATE Manage packet rate controls

RateBw Set/Display port bandwidth rate metering characteristics

RegCMp Test a register value

REMove Delete entry by index from a sorted table

RXCfg Configure RX settings

RXInit Call bcm_rx_init

RXMon Register an RX handler to dump received packets

SCHan Send raw S-Channel message, get response

SEArch Search a table for a byte pattern

Setreg Set register

SHOW Show information on a subsystem

SOC Print internal Driver control information

SRAM External DDR2_SRAM test control

STACKMode Set/get the stack mode

StackPortCb Manage Stack Port Callbacks

StackPortGet Get stacking characteristics of a port

StackPortSet Set stacking characteristics of a port

STG Manage spanning tree groups

STiMeout Set S-Channel timeout in microseconds

STKMode Hardware Stacking Mode Control

StkTask Stack task control

SwitchControl General switch control

SYnth Show synthesizer frequency

SystemSnake Cycle packets through selected system

TCAM TCAM control

TEMPerature Show environmental conditions

TestClear Clear run statisistics for a test

TestList List loaded tests and status

TestMode Set global test run modes

TestParameters Set test Parameters

TestRun Run a specific or selected tests

TestSelect Select tests for running

TRUNK Manage port aggregation

TrunkPool Trunk pool table configuration

TX Transmit one or more packets

TXCount Print current TX statistics

TXSTArt Transmit one or more packets in background

TXSTOp Terminate a previous "txstart" command

VLAN Manage virtual LANs

WARMBOOT Optionally boot warm

WLAN Manage XGS4 WLAN

Write Write entry(s) into a table

XAUI Run XAUI BERT on specified port pair

XClocks Configure clocks for PCI, SDRAM, Core clock

XPoe Communication with PD63000 PowerOverEthernet MCU.

XQDump Display packets pending in the XQ

XQErr Inject bit errors into packets pending in XQ 2.2 系统基本信息获取命令

2.2.1 版本命令

BCM.0> Version

Broadcom Command Monitor: Copyright (c) 1998-2010 Broadcom Corporation Release: sdk-xgs-robo-5.9.2 built 20110614 (Tue Jun 14 17:34:14 2011)

From pengzhang@smc-pc:/home/pengzhang/work/sdk/sdk-xgs-robo-5.9.2 Platform: KEYSTONE

OS: Unix (Posix)

ROBO Chips: BCM5324_A0, BCM5324_A1, BCM5396_A0, BCM5389_A0, BCM5398_A0, BCM5397_A0, BCM5348_A0, BCM5347_A0,

BCM5395_A0, BCM53242_A0, BCM53262_A0, BCM53115_A0,

BCM53118_A0, BCM53280_A0, BCM53280_B0, BCM53101_A0,

BCM53125_A0, BCM53128_A0

Chips: BCM5690_A0, BCM5670_A0, BCM5673_A0, BCM5674_A0, BCM5665_A0, BCM5665_B0, BCM5650_C0, BCM5695_A0,

BCM5675_A0, BCM56601_A0, BCM56601_B0, BCM56601_C0,

BCM56602_A0, BCM56602_B0, BCM56602_C0, BCM56504_A0,

BCM56504_B0, BCM56304_B0, BCM56314_A0, BCM56102_A0,

BCM56112_A0, BCM56800_A0, BCM56218_A0, BCM56514_A0,

BCM56624_A0, BCM56624_B0, BCM56680_A0, BCM56680_B0,

BCM56224_A0, BCM56224_B0, BCM56820_A0, BCM56725_A0,

BCM53314_A0, BCM53324_A0, BCM56634_A0, BCM56634_B0,

BCM56524_A0, BCM56524_B0, BCM56685_A0, BCM56685_B0,

BCM56334_A0, BCM56334_B0,

BCM56840_A0, BCM56840_B0, BCM56142_A0,

PHYs: BCM5218, BCM5220/21, BCM5226, BCM5228,

BCM5238, BCM5248, BCM5324/FE, BCM5348/FE,

BCM53242/FE, BCM53262/FE, BCM53101/FE, BCM53280/FE,

BCM5400, BCM5401, BCM5402, BCM5404,

BCM5424/34, BCM5411, BCM5461, BCM5464,

BCM5466, BCM5478, BCM5488, BCM5482,

BCM5481, BCM5461, BCM5464, BCM5466,

BCM5478, BCM5488, BCM54980, BCM54980,

BCM54980, BCM54980, BCM53314, BCM5398,

BCM5395, BCM53115, BCM53118, BCM5482/801x,

BCM54684, BCM54640, BCM54682E, BCM54684E,

BCM54685, BCM54616, BCM5421S, BCM54680,

BCM53324, BCM53125, BCM53128, BCM54880,

BCM54881, BCM54810, BCM54640E, BCM54880E,

BCM54680E, BCM52681E, BCM8703, BCM8704,

BCM8705/24/25, BCM8706/8726, BCM8727, BCM8728/8747 2.2.2 Show命令

SHOW unit: 显示系统的芯片信息

SHOW features : 从驱动的角度显示当前芯片的特点

SHOW params: 从驱动的角度显示当前芯片的配置信息

2.3 常用检测命令

2.3.1 端口类

1.PortStat:该命令可显示所有端口的状态信息

2.Port

Port的具体使用命令如表1-1所示。

https://www.docsj.com/doc/7f9346633.html,BO

COMBO的具体使用命令如表1-2所示

具体使用例子如下:

2.3.2 收发包类

1.Tx:一个简单的数据包发送器,使用例子如表1-3所示

表1-4 PW命令的使用

具体使用例子如下:

3.LINKscan:如实反映当前端口的链路状态,使用例子如表1-5所示

2.3.3 程序调试类

1.DeBug:控制debug输出

2.DeBugMod:按照模块来控制debug设置

它们的使用例子如表1-6所示

表1-6调试命令的使用

2.4 检测芯片的命令

2.4.1 寄存器的访问

系统的寄存器分类如表1-7所示

表1-7系统的寄存器分类

读PHY寄存器实例:

BCM.0> phy 1

Port ge0 (PHY addr 0x01): BCM54682E (54682 Gigabit PHY Driver) 0x00: 0x1140 0x01: 0x79c9 0x02: 0x0362 0x03: 0x5d24

0x04: 0x01e1 0x05: 0x0000 0x06: 0x0064 0x07: 0x2001

0x08: 0x0000 0x09: 0x0600 0x0a: 0x0000 0x0b: 0x0000

0x0c: 0x0000 0x0d: 0x4007 0x0e: 0x0000 0x0f: 0x3000

0x10: 0x0001 0x11: 0x0000 0x12: 0x0000 0x13: 0x0000

0x14: 0x0000 0x15: 0x0000 0x16: 0x0000 0x17: 0x0000

0x18: 0x7067 0x19: 0x1000 0x1a: 0x0000 0x1b: 0xffff

0x1c: 0x2418 0x1d: 0x0000 0x1e: 0x0000 0x1f: 0x0000 BCM.0> phy 1-5

Port ge0 (PHY addr 0x01): BCM54682E (54682 Gigabit PHY Driver) 0x00: 0x1140 0x01: 0x79c9 0x02: 0x0362 0x03: 0x5d24

0x04: 0x01e1 0x05: 0x0000 0x06: 0x0064 0x07: 0x2001

0x08: 0x0000 0x09: 0x0600 0x0a: 0x0000 0x0b: 0x0000

0x0c: 0x0000 0x0d: 0x4007 0x0e: 0x0000 0x0f: 0x3000

0x10: 0x0001 0x11: 0x2000 0x12: 0x0000 0x13: 0x0000

0x14: 0x0000 0x15: 0x0000 0x16: 0x0000 0x17: 0x0000

0x18: 0x7067 0x19: 0x1000 0x1a: 0x0000 0x1b: 0xffff

0x1c: 0x2418 0x1d: 0x0000 0x1e: 0x0000 0x1f: 0x0000 Port ge1 (PHY addr 0x02): BCM54682E (54682 Gigabit PHY Driver) 0x00: 0x1140 0x01: 0x79c9 0x02: 0x0362 0x03: 0x5d24

0x04: 0x01e1 0x05: 0x0000 0x06: 0x0064 0x07: 0x2001

0x08: 0x0000 0x09: 0x0600 0x0a: 0x0000 0x0b: 0x0000

0x0c: 0x0000 0x0d: 0x4007 0x0e: 0x0000 0x0f: 0x3000

0x10: 0x0001 0x11: 0x0001 0x12: 0x0000 0x13: 0x0000

0x14: 0x0000 0x15: 0x0000 0x16: 0x0000 0x17: 0x0000

0x18: 0x7067 0x19: 0x1000 0x1a: 0x0000 0x1b: 0xffff

0x1c: 0x2418 0x1d: 0x0000 0x1e: 0x0000 0x1f: 0x0000 Port ge2 (PHY addr 0x03): BCM54682E (54682 Gigabit PHY Driver) 0x00: 0x1140 0x01: 0x79c9 0x02: 0x0362 0x03: 0x5d24

0x04: 0x01e1 0x05: 0x0000 0x06: 0x0064 0x07: 0x2001

0x08: 0x0000 0x09: 0x0600 0x0a: 0x0000 0x0b: 0x0000

0x0c: 0x0000 0x0d: 0x4007 0x0e: 0x0000 0x0f: 0x3000

0x10: 0x0001 0x11: 0x0000 0x12: 0x0000 0x13: 0x0000

0x14: 0x0000 0x15: 0x0000 0x16: 0x0000 0x17: 0x0000

0x18: 0x7067 0x19: 0x1000 0x1a: 0x0000 0x1b: 0xffff

0x1c: 0x2418 0x1d: 0x0000 0x1e: 0x0000 0x1f: 0x0000 Port ge3 (PHY addr 0x04): BCM54682E (54682 Gigabit PHY Driver) 0x00: 0x1140 0x01: 0x79c9 0x02: 0x0362 0x03: 0x5d24

0x04: 0x01e1 0x05: 0x0000 0x06: 0x0064 0x07: 0x2001

0x08: 0x0000 0x09: 0x0600 0x0a: 0x0000 0x0b: 0x0000

0x0c: 0x0000 0x0d: 0x4007 0x0e: 0x0000 0x0f: 0x3000

0x10: 0x0001 0x11: 0x2001 0x12: 0x0000 0x13: 0x0000

0x14: 0x0000 0x15: 0x0000 0x16: 0x0000 0x17: 0x0000

0x18: 0x7067 0x19: 0x1000 0x1a: 0x0000 0x1b: 0xffff

0x1c: 0x2418 0x1d: 0x0000 0x1e: 0x0000 0x1f: 0x0000 Port ge4 (PHY addr 0x05): BCM54682E (54682 Gigabit PHY Driver) 0x00: 0x1140 0x01: 0x79c9 0x02: 0x0362 0x03: 0x5d24

0x04: 0x01e1 0x05: 0x0000 0x06: 0x0064 0x07: 0x2001

0x08: 0x0000 0x09: 0x0600 0x0a: 0x0000 0x0b: 0x0000

0x0c: 0x0000 0x0d: 0x4007 0x0e: 0x0000 0x0f: 0x3000

0x10: 0x0001 0x11: 0x2000 0x12: 0x0000 0x13: 0x0000

0x14: 0x0000 0x15: 0x0000 0x16: 0x0000 0x17: 0x0000

0x18: 0x7067 0x19: 0x1000 0x1a: 0x0000 0x1b: 0xffff

0x1c: 0x2418 0x1d: 0x0000 0x1e: 0x0000 0x1f: 0x0000 关于PHY寄存器的其他命令如表1-8所示

1.Listreg :此命令将显示寄存器的所有详细信息,使用例子如表1-10所示

表1-10 Listreg命令的使用

2.Getreg :这个命令将会获取某个寄存器的简要信息,使用例子如表1-11所示

表1-11 Getreg命令的使用

读pcic、pcim寄存器某一位上的值:

BCM.0> get pcic 0x0

pci_cfg[0x0] = 0xb14314e4

BCM.0> get pcim 0x4

cpu[0x4] = 0x40

3.Setreg:设置一个寄存器的值,使用例子如表1-12所示

表1-13 Modreg的使用

Setreg与Modreg的区别在于:用Setreg命令设置寄存器的值时,寄存器的其他为被自动清零;而用Modreg设置寄存器值时,寄存器的其他位保持不变,因此Modreg为更安全的寄存器设置命令:

2.4.2 内存的访问

1.LISTmem:该命令的作用是显示关于本表的所有细节,具体例子如表1-14所

打印PCI的配置情况:

BCM.0> DUMP PCIC

0000: b14314e4 DeviceID=b143 VendorID=14e4

0004: 00100006 Status=0010 Command=0006

0008: 02000002 ClassCode=020000 RevisionID=02

000c: 00000008 BIST=00 HeaderType=00 LatencyTimer=00 CacheLineSize=08

0010: 08000004 BaseAddress0=08000004

0014: 00000000 BaseAddress1=00000000

0018: 00000000 BaseAddress2=00000000

001c: 00000000 BaseAddress3=00000000

0020: 00000000 BaseAddress4=00000000

0024: 00000000 BaseAddress5=00000000

0028: 00000000 CardbusCISPointer=00000000

002c: b14314e4 SubsystemID=b143 SubsystemVendorID=14e4

0030: 00000000 ExpansionROMBaseAddress=00000000

0034: 00000048 Reserved=000000 CapabilitiesPointer=48

0038: 00000000 Reserved=00000000

003c: 00000105 Max_Lat=00 Min_Gnt=00 InterruptPin=01 InterruptLine=05 0040: 00000000 Reserved=00 RetryTimeoutValue=00 TRDYTimeoutValue=00 0044: dead0000 PLLConf=0

0048: c8035001 -

0048: c8035001 CapabilityID=01 CapabilitiesPointer=50 PWR-MGMT

004c: 00002008 -

0050: 00005803 CapabilityID=03 CapabilitiesPointer=58 VPD

0054: 00000000 -

0058: 0086a005 CapabilityID=05 CapabilitiesPointer=a0 MSI

005c: 00000000 -

0060: 00000000 -

0064: 00000000 -

0068: 00000000 -

006c: 00000000 -

00a0: 0000ac11 CapabilityID=11 CapabilitiesPointer=ac MSI-X

00a4: 00000000 -

00a8: 00000000 -

00ac: 00020010 CapabilityID=10 CapabilitiesPointer=00 PCIE

00b0: 00008002 -

00b4: 00101c20 -

其他应用例子如表1-15所示:

表1-15 Dump的使用

3.Write:该命令的作用是该某个表里写一些值或者是表项,具体例子如表1-16

5.Insert:给哈希表或者存储表插入新的条目,具体例子如表1-18

7.LOOKup:寻找指定表项命令,具体例子如表1-20

8.SEArch:功能更强大的查找条目命令,它支持十六进制数和字段值的参数查

找当使用十六进制字符串参数时要小心单词的边界;查找与字节顺序无关(It

accepts patterns both as hex data and as field values. (When using hex string patterns do beware of word boundaries);A search will be successful regardless of byte ordering.)具体例子如表1-21

2.4.3 中断等其他命令

1.Interrupts:该命令为我们提供了对某块芯片的中断管理能力,具体例子如表

1-22

2.Counters 关于计数器的命令,如表1-23所示

CRT常用命令

SecureCRT 常用命令 2010年4月26日 | 分类: Linux | 标签: SecureCRT 常用命令: 一、ls 只列出文件名(相当于dir,dir也可以使用) -A:列出所有文件,包含隐藏文件。 -l:列表形式,包含文件的绝大部分属性。 -R:递归显示。 –help:此命令的帮助。 二、cd 改变目录 cd /:进入根目录 cd :回到自己的目录(用户不同则目录也不同,root为/root,xxt为/home/xxt cd ..:回到上级目录 pwd:显示当前所在的目录 三.less 文件名:查看文件内容。 四.q 退出打开的文件。 五.上传文件: rz 选择要传送的文件,确定。 六.下载文件: sz 指定文件名,enter敲,即下载到了secureCRT/download目录下。 七:删除文件: rm 删除文件,rmdir 删除空目录。 八.显示最近输入的20条命令:history 20 九.获得帮助命令–help查看命令下详细参数:如:rz –help , sz –help 。 十.cd 进入某个文件夹的命令: mkdir+文件夹名创建某个文件夹的命令 sz+文件名从服务器端向本机发送文件的命令 rz 从本机向服务器端传送文件的命令 ll 列出当前目录下的所有文件,包括每个文件的详细信息 dir 对当前文件夹 vi 打开当前文件 十一.在编辑某个文件的时候: a 切换到编辑模式 ctrl+c 退出编辑模式

dd 删除整行 :q 退出当前文件 :w 写入并保存当前文件 -f 强行xx的参数。。。 其它命令: 1.ps -ef //查看server的进程,以列表形式显示的server进程。 ps 显示当前在系统运行的进程 /usr/bin/ps [选项] -e 显示每个现在运行的进程 -f 生成一个完全的列表 实际操作: ————————————– 1 SSH客户端连接到10.5.1.55系统(参见《启动远程客户端说明SecureCRT.doc》) $ cd /home/bea2/user_projects/csdomain/bin 2 查看weblogic92服务进程 $ ps -eaf | grep weblogic bea2 327926 331940 0 13:08:45 pts/4 0:00 grep weblogic webadmin 421908 368956 0 Sep 24 - 4:13 /usr/java5_64/bin/java -Xms256m -Xmx512m -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic923/profiles/de fault/sysext_manifest_classpath https://www.docsj.com/doc/7f9346633.html,=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic92/server/lib/webl ogic.policy weblogic.Server bea2 491796 385044 17 00:12:50 pts/6 182:55 /usr/java5_64/bin/java -Xms6g -Xmx8g -javaagent:/home/bea2/user_projects/csdomain/Introscope/wily/Agent.j ar -Dcom.wily.introscope.agentProfile=/home/bea2/user_projects/csdomain /Introscope/wily/IntroscopeAgent.profile -Dcom.wily.introscope.agent.agentName=AdminServer -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration

Shell命令

Shell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。 4.1.1 Shell 的基本概念 1. 什么是S hell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell 在L inux 系统中具有极其重要的地位,如图4-1 所示

第 4 章 Shell 与 V i 编辑器 - 71 - diff grep vi multitasking sh gcc device hardware interface kernn e l TCP/IP stack bash utilii t es 图 4-1 Linux 系统结构组成 2. Shell 的功能 Shell 最重要的功能是命令解释,从这种意义上来说,Shell 是一个命令解释器。Linux 系统中的所有可执行文件都可以作为 Shell 命令来执行。将可执行文件作一个分类,如表 4-1 所示。 表 4-1 可执行文件的分类 部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序就试图 在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在 查找该命令时分为两种情况: 用户给出了命令路径,Shell 就沿着用户给出的路径查找,若找到则调入内存,若没有 则输出提示信息; 用户没有给出命令的路径,Shell 就在环境变量 PATH 所制定的路径中依次进行查找, 若找到则调入内存,若没找到则输出提示信息。 图 4-2 描述了 S hell 是如何完成命令解释的。

最常用的Shell命令

Shell命令行操作 Linux shell 简介 Linux shell指的是一种程序,有了它,用户就能通过键盘输入指令来操作计算机了。Shell会执行用户输入的命令,并且在显示器上显示执行结果。这种交互的全过程都是基于文本的,与其他各章介绍的图形化操作不同。这种面向命令行的用户界面被称为CLI(Command Line interface)。在图形化用户界面(GUI)出现之前,人们一直是通过命令行界面来操作计算机的。 现在,基于图形界面的工具越来越多,许多工作都不必使用Shell就可以完成了。然而,专业的Linux用户认为Shell是一个非常有用的工具,学习Linux时一定要学习Shell,至少要掌握一些基础知识和基本的命令 启动shell 在启动Linux桌面系统后,Shell已经在后台运行起来了,但并没有显示出来。如果想让它显示出来, 按如下的组合键就可以: + + 组合键中的F2可以替换为 F3、F 4、F 5、F6。 如果要回到图形界面,则按如下组合键: + + 另外,在图形桌面环境下运行“系统终端”也可以执行Shell命令,与用组合键切换出来的命令行界面

是等效的。“系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是: 【开始】→【应用程序】→【附件】→【系统终端】 该软件允许建立多个Shell客户端,它们相互独立,可以通过标签 在彼此之间进行切换。 Shell命令基本规则 一般格式 Shell命令的一般格式如下: 命令名【选项】【参数1】【参数2】... 【选项】是对命令的特别定义,以减号(-)开始,多个选项可以用一个减号(-)连起来,如ls -l -a与 ls -la 相同。 【参数】提供命令运行的信息,或者是命令执行过程中所使用的文件名。 使用分号(可以将两个命令隔开,这样可以实现一行中输入多个命令。命令的执行顺序和输入的顺序 相同。 命令补全 在送入命令的任何时刻,可以按键,当这样做时,系统将试图补全此时已输入的命令。如果已 经输入的字符串不足以唯一地确定它应该使用的命令,系统将发出警告声。再次按键,系统则会给出可用来补全的字符串清单。使用命令补全功能,可以提高使用长命令或操作较长名字的文件或文件夹的都是非常有意义的。

Linux实验一-shell基本命令的使用

实验一Linux shell基本命令的使用 一、实验目的和要求 a)掌握用户系统常用命令。 b)掌握文件目录常用命令。 c)掌握压缩打包常用命令。 d)掌握网络相关命令。 二、实验内容和原理 a)登录系统,查看系统相关信息; b)查询和更新系统用户数据; c)创建文件目录和文件,并实现文件操作; d)打包并解压文件 e)查询系统网络状态,并设置和更新 三、实验环境 a)硬件:PC机 b)软件:LINUX操作系统、虚拟机 四、算法描述及实验步骤 a)启动系统,打开终端; b)查看系统信息,并将以下查看内容重定向添加到文件systemInfo.txt,最后清屏: 1、查看系统当前所有进程; 2、查看当前系统信息 3、查看硬盘分区情况 4、查看/etc/fstab文件 5、查看系统当前的网络地址 c)系统用户数据: 1、切换到root状态 2、创建用户(姓名拼间首字母加学号后两位,如张飞ZF01),密码是123456 3、进入新用户,并查看默认所在主目录及所有登录系统的用户 d)文件操作: 1、在当前用户的主目录下,创建文件夹Labl 2、进入Lab1文件夹,新建文件welcome.txt,写入“Hello Zhang Fei!”保存退出 3、将b步骤生成的文件SystemInfo.txt,移动到Lab1文件夹,并设置文件权限为:文件所有者可读写,其它为只读; 并查看文件列表,权限是否设置 4、返回到当前用户的主目录 5、将Lab1文件夹打包生成tar.gz文件,并删除原文件夹 五、实验报告要求: 按实验步骤执行,在纸质实验报告上详细描述执行流程(使用命令及操作流程),并在电子版的实验报告上要求另加适当截图描述; a)启动系统,打开终端;或使用putty连接系统(如果未安装ssh,可以使用sudo

linux+shell脚本语言基础知识

linux shell脚本语言基础知识 一.shell简介 Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的界面,更确切的说,shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用Shell脚本编程,完成更加复杂的操作。 shell是一个命令解释器,它从输入设备读取命令,再将其转为计算机可以了解的指令,然后执行它。在linux中,shell又不仅是简单的命令解释器,而且是一个全功能的编程环境。 Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell (/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。每种Shell都有其特色之处,基本上,掌握其中任何一种就足够了。通常用Bash,也就是Bourne Again Shell进行编程。 二.shell使用 1.建立和运行shell程序 shell脚本程序:按照一定的语法结构把若干linux命令组织在一起,是这些命令按照我们的要求完成一定的功能。它可以进行类似程序的编写,并且不需要编译就能执行。(只需修改其权限) 像编写高级语言的程序一样,编写shell程序需要一个文本编辑器,如VI和VIM,通常使用VIM文本编辑器,支持更便利的插入模式。 首先使用VIM编辑器编辑一个hello.sh文件: #!/bin/bash #hello world example

ubuntu shell 使用命令大全

ubuntu shell 使用命令大全 前言 下面的命令大都需要在控制台/ 终端/ shell 下输入。 控制台, 终端, 和shell 意味着同样一件事- 一个命令行界面,他可以用来控制系统。 打开一个控制台: 应用程序--> 附件--> 终端 任何一个使用'sudo' 作为前缀的命令都需要拥有管理员(或root) 访问权限。所以你会被提示输入你自己的密码。 安装升级 查看软件xxx安装内容 dpkg -L xxx 查找软件库中的软件 apt-cache search 正则表达式 或 aptitude search 软件包 显示系统安装包的统计信息 apt-cache stats 显示系统全部可用包的名称 apt-cache pkgnames 显示包的信息 apt-cache show k3b 查找文件属于哪个包 apt-file search filename 查看已经安装了哪些包 dpkg -l 查询软件xxx依赖哪些包 apt-cache depends xxx 查询软件xxx被哪些包依赖 apt-cache rdepends xxx 增加一个光盘源 sudo apt-cdrom add 系统升级 sudo apt-get update (这一步更新包列表) sudo apt-get dist-upgrade (这一步安装所有可用更新) 或者 sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等) 清除所有已删除包的残馀配置文件 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。 dpkg: --purge needs at least one package name argument Type dpkg --help for help about installing and deinstalling packages [*]; Use `dselect' or `aptitude' for user-friendly package management; Type dpkg -Dhelp for a list of dpkg debug flag values; Type dpkg --force-help for a list of forcing options; Type dpkg-deb --help for help about manipulating *.deb files; Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*]. Options marked [*] produce a lot of output - pipe it through `less' or `more' ! 编译时缺少h文件的自动处理 sudo auto-apt run ./configure 查看安装软件时下载包的临时存放目录

Shell脚本编写基础

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell 是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统的关键。可以说,shell使用的熟练程度反映了用户对Linux使用的熟练程度。 一、什么是shell 当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shel l(外壳)的程序。那么,shell是什么呢?确切一点说,shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell 来启动、挂起、停止甚至是编写一些程序。 当用户使用Linux时是通过命令来完成所需工作的。一个命令就是用户和shell之间对话的一个基本单位,它是由多个字符组成并以换行结束的字符串。shell解释用户输入的命令,就象DOS里的https://www.docsj.com/doc/7f9346633.html,所做的一样,所不同的是,在DOS中,https://www.docsj.com/doc/7f9346633.html,只有一个,而在Linux下比较流行的shell有好几个,每个shell都各有千秋。一般的Linux系统都将bash作为默认的shell。 二、几种流行的shell 目前流行的shell有ash、bash、ksh、csh、zsh等,你可以用下面的命令来查看你自己的shell类型: #echo $SHELL $SHELL是一个环境变量,它记录用户所使用的shell类型。你可以用命令: #shell-name 来转换到别的shell,这里shell-name是你想要尝试使用的shell的名称,如ash等。这个命令为用户又启动了一个shell,这个shell在最初登录的那个shell之后,称为下级的shell或子shell。使用命令: $exit 可以退出这个子shell。 使用不同的shell的原因在于它们各自都有自己的特点,下面作一个简单的介绍: 1.ash ash shell是由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令,因而使用起来很不方便。 2.bash bash是Linux系统默认使用的shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,内部命令一共有40个。Linux使用它作为默认的shell是因为它有诸如以下的特色: (1)可以使用类似DOS下面的doskey的功能,用方向键查阅和快速输入并修改命令。 (2)自动通过查找匹配的方式给出以某字符串开头的命令。 (3)包含了自身的帮助功能,你只要在提示符下面键入help就可以得到相关的帮助。 3.ksh ksh是Korn shell的缩写,由Eric Gisin编写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。 4.csh

xshell-linux命令

suse linux 常用命令 (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目录下 cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a选项包含-R 选项 cp -i 在覆盖前询问用户 cp -v 告诉用户正在做什么 (3)命令mv——移动和重命名文件 mv aflie bfile 将afile重命名为bfile mv afile /tmp 把当前目录下的afile移动到/tmp/目录下 (4)命令rm——删除文件和目录 rm afile 删除文件afile rm * 删除当前目录下的所有文件(未隐藏文件)。rm命令不删除目录,除非也指定了-r(递归)参数。 rm -rf domed 删除domed目录以及它所包含的所有内容 rm -i a* 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认 (5)命令cd——更改目录 cd ~ 切换到主目录 cd /tmp 切换到目录/tmp cd dir切换到当前目录下的dir目录 cd /切换到根目录 cd ..切换到到上一级目录 cd ../..切换到上二级目录 cd ~切换到用户目录,比如是root用户,则切换到/root下 (6)命令mkdir——建立目录 mkdir phots 在当前目录中建立名为photos的目录 mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录 (7)命令mkdir——删除目录 mkdir 将删除空目录 (8)命令more、less——查看文件内容 more /etc/passwd 查看/etc/passwd的内容 功能:分页显示命令

Linux 操作系统Shell常用命令总结 (linux系统)

Linux 操作系统Shell常用命令总结(linux系统) linux软件开发 1. find find pathnam e -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格, 注意一定有分号结尾。 0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细. find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后删除他们. find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全. find . -name "datafile" -ctime -1 -ok rm -f {} \; 1) find . -name 基于文件名查找,但是文件名的大小写敏感. find . -name "datafile*" 2) find . -iname 基于文件名查找,但是文件名的大小写不敏感. find . -iname "datafile*"

常用shell脚本

如何用脚本实现分割文件 #!/bin/bash if [ $# -ne 2 ]; then echo 'Usage: split file size(in bytes)' exit fi file=$1 size=$2 if [ ! -f $file ]; then echo "$file doesn't exist" exit fi #TODO: test if $size is a valid integer filesize=`/bin/ls -l $file | awk '{print $5}'` echo filesize: $filesize let pieces=$filesize/$size let remain=$filesize-$pieces*$size if [ $remain -gt 0 ]; then let pieces=$pieces+1 fi echo pieces: $pieces i=0 while [ $i -lt $pieces ]; do echo split: $file.$i: dd if=$file of=$file.$i bs=$size count=1 skip=$i let i=$i+1 done echo "#!/bin/bash" >; merge echo "i=0" >;>; merge echo "while [ $i -lt $pieces ];" >;>; merge echo "do" >;>; merge echo " echo merge: $file.$i" >;>; merge echo " if [ ! -f $file.$i ]; then" >;>; merge echo " echo merge: $file.$i missed" >;>; merge

Shell脚本编程详解-吐血共享

第12章 Shell 脚本编程 ● Shell 命令行的运行 ● 编写、修改权限和执行Shell 程序的步骤 ● 在Shell 程序中使用参数和变量 ● 表达式比较、循环结构语句和条件结构语句 ● 在Shell 程序中使用函数和调用其他Shell 程序 12-1 Shell 命令行书写规则 ◆ Shell 命令行的书写规则 对Shell 命令行基本功能的理解有助于编写更好的Shell 程序,在执行Shell 命令时多个命令可以在一个命令行上运行,但此时要使用分号(;)分隔命令,例如: [root@localhost root]# ls a* -l;free;df 长Shell 命令行可以使用反斜线字符(\)在命令行上扩充,例如: [root@localhost root]# echo “ this is \ >long command ” This is long command 注意: “>”符号是自动产生的,而不是输入的。 12-2 编写/修改权限及执行Shell 程序的步骤 ◆ 编写Shell 程序 ◆ 执行Shell 程序 Shell 程序有很多类似C 语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。Shell 程序是指放在一个文件中的一系列Linux 命令和实用程序。在执行的时候,通过Linux 操作系统一个接一个地解释和执行每条命令。首先,来编写第一个Shell 程序,从中学习Shell 程序的编写、修改权限、执行过程。

12-2-1 编辑Shell程序 编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下。 [root@localhost bin]#vi date #! /bin/sh echo “Mr.$USER,Today is:” echo &date “+%B%d%A” echo “Wish you a lucky day !” 注意: #! /bin/sh通知采用Bash解释。如果在echo语句中执行Shell命令date,则需要在date 命令前加符号“&”,其中%B%d%A为输入格式控制符。 12-2-2 建立可执行程序 编辑完该文件之后不能立即执行该文件,需给文件设置可执行程序权限。使用如下命令。[root@localhost bin]#chmod +x date 12-2-3 执行Shell程序 执行Shell程序有下面三种方法: 方法一: [root@localhost bin]#./ date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法二: 另一种执行date的方法就是把它作为一个参数传递给Shell命令: [root@localhost bin]# Bash date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法三: 为了在任何目录都可以编译和执行Shell所编写的程序,即把/bin的这个目录添加到整个环境变量中。 具体操作如下: [root@localhost root]#export PATH=/bin:$PATH [root@localhost bin]# date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day !

Linux Shell常用命令总结

1. find find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格, 注意一定有分号结尾。 0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细. find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际 为1天之内的文件, 然后删除他们. find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全. find . -name "datafile" -ctime -1 -ok rm -f {} \; 1) find . -name 基于文件名查找,但是文件名的大小写敏感. find . -name "datafile*" 2) find . -iname 基于文件名查找,但是文件名的大小写不敏感. find . -iname "datafile*" 3) find . -maxdepth 2 -name fred 找出文件名为fred,其中find搜索的目录深度为2(距当前目录), 其中当前目录被视为第一层. 4) find . -perm 644 -maxdepth 3 -name "datafile*" (表示权限为644的, 搜索的目录深度为3, 名字为datafile*的文件) 5) find . -path "./rw" -prune -o -name "datafile*" 列出所有不在./rw及其子目录下文件名为datafile*的文件。 find . -path "./dir*" 列出所有符合dir*的目录及其目录的文件. find . \( -path "./d1" -o -path "./d2" \) -prune -o -name "datafile*" 列出所有不在./d1和d2及其子目录下文件名为datafile*的文件。 6) find . -user ydev 找出所有属主用户为ydev的文件。 find . ! -user ydev 找出所有属主用户不为ydev的文件,注意!和-user之间的空格。 7) find . -nouser 找出所有没有属主用户的文件,换句话就是,主用户可能已经被删除。 8) find . -group ydev 找出所有属主用户组为ydev的文件。

Linux下最常用的Shell命令的介绍

有些人仍然会有这种愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令。胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面发行版。 Linux的系统管理员与桌面用户不一样,他们不像桌面用户一样使用Cinnamon,GNOME,Unity,或者KDE,他们所有的时间都是用Linux命令。 对于桌面用户来讲,若是了解一部分Linux命令,你可以更好的使用Linux,体验它的魅力,下面列举出了一些: Shell基础: 你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash)。 想看看你的Shell是哪一种,执行下面的命令 echo $SHELL 在Linux中,$符号代表一个shell变量。所有的shell都用这种方式使用变量。有一些shell 变量在你的系统启动的时候就有了默认值。例如,$SHELL;$LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。 echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。 一个重要的地方是,你要注意文本的大小写。例如,ls,是DOS的dir命令的Linux版本。这个命令列出当前工作目录下的文件列表。如果你输入的是LS,你得到的只能是“找不到命令”的错误信息。 另外在Linux shell命令中一个重要的地方是,你可以将命令串起来。这是Unix/Linux从第一天开始就有的巧妙的特点。最简单的将命令连起来的办法就是使用“|”,我们称之为“pipe”。第一个命令的输出就是下一个命令的输入。 Linux命令有自己的语法规则: 基本的语法就像这样: command -option file 例如:

PowerShell基本语法及常用命令

PowerShell基本语法及常用命令 Powershell常用命令 1.Get-Command 得到Powshell所有命令 2.Get-Process 获取所有进程 3.Set-Alias 给指定命令重命名如:Set-Alias aaa Get-Command 4.Set-ExecutionPolicy remotesigned 设置powershell可直接执行脚本文件一般脚本文件以.ps1结尾执行脚本文件直接输入文件地址即可执行脚本文件中只写命令即可 5.Get-Help get-* 查询以get开头的命令Get-Help *service* Get-Help Get-Command 获取Get-Command命令的基本用法 6.Get-Member 获取对象属性如: $var | Get-Memeber 访问$var属性直接$var.T oString() PS中的变量定义 不需要定义或声明数据类型 在变量前加"$" 定义变量的规则 -变量可以是数字$123 -变量可以是字符串$abc -变量可以是特殊字符${@1b} 内置的变量 -$pshome -$home

-$profile 变量赋值: $var=123 $var="aaaaaa" 取变量值: $var 变量赋值方法:Set-Variable var 100 取值方法: Get-Variable var 清空值: Clear-Variable var 删除变量Remove-Variable var 取多个变量如var1 var2 var3地值: Get-Variable var* 另一种赋值方法$var1="bbb" $var2="$var $var1" 结果$var2="aaaaaa bbb" $var2='$var $var1' 结果$var2="$var $var1" $date=Get-Date 获取当前时间 $date.AddDays(3) 当前时间加3天 排序用法 Get-Process | Sort-Object ws 根据WS值由小到大排序 Get-Process | Sort-Object | fl Get-Process | Sort-Object | Format-List 以列表形式显示数据 导入导出文件 Get-Process > c:\aa.txt

常用shell脚本指令

常用shell脚本命令 1、显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2、删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' filename 3、删除当前行与下两行的内容: sed -i '/aaa/{N;N;d;}' filename 依次类推,删除三行,则为{N;N;N;d;},分析知:N为next 4、得出以空格为分割的字符串中单词的个数,即统计个数: awk ' { print NF } ' 如显示字符串VALUE中的单词个数,其中VALUE为:aaa bbb ccc ddd ee f 则执行 echo $VALUE | awk ' { print NF } ' 后的结果为6 5、在linux中建立一个文件与另一文件的链接,即符号链接 ln -s /var/named/chroot/etc/named.conf named.conf 这要就建立了当前目录的文件named.conf对/var/named/chroot/etc/named.conf 的符号链接。即操作named.conf就意味着操作实际文件/var/named/chroot/etc/named.conf ,这时用ll命令查看的结果如: lrwxrwxrwx 1 root root 32 Mar 22 12:29 named.conf -> /var/named/chroot/etc/named.conf 注意:当用sed来通过named.conf来删除一部分信息时,会将符号链接的关系丢掉,即会将named.conf变成一个实际文件。所以需对实际文件进行删除操作。 6、显示指定字符范围内的内容: 如:显示文件test.txt中字符#test begin与#test end之间所有的字符 sed -n "/#test begin/,/#test end/p" test.txt 或 awk "/#test begin/,/#test end/" test.txt 在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则. 1. 单引号和双引号的区别 单引号与双引号的最大不同在于双引号仍然可以引用变量的内容,但单引号内仅是普通字符,不会作变量的引用,直接输出字符窜。请看如下例子: [root@linux ~]# name=HaHa [root@linux ~]# echo $name HaHa [root@linux ~]# myname="$name is wow" [root@linux ~]# echo $myname HaHa is wow [root@linux ~]# myname='$name is wow'

shell常用命令大全

一、文件目录类命令 1、查看联机帮助信息 man命令如:#man ls info命令如:#info cd 2、列出当前目录或指定目录的文件名和目录名 ls[选项]文件或目录 常用[选项]如下: -a:显示所有的文件,包括以“.”开头的隐含文件。 -l:长格式输出 -m:宽行输出 -F:以各种符号表示不同的文件类型 --color:彩色输出 -R:递归输出 3、touch 功能:修改文件的创建日期或以当前系统日期创建一个空文件。 -d:修改文件的日期。 #touch–d2*******test.txt 4、cp 功能:复制文件 用法:cp[选项]源文件或目录目标文件或目录 选项: a:该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地

拷贝目录,其作用等于dpR选项的组合。 -d拷贝时保留链接。 -f删除已经存在的目标文件而不提示。 -i和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 -p此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 -r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 5、mv 功能:给文件或目录改名或将一个文件或目录移到另一个目录 用法:mv[选项]源文件或目录目标文件或目录 -i交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。-f禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。 6、rm 功能:删除文件或目录 用法:rm[选项]文件… -f强制删除 -r指示rm将参数中列出的全部目录和子目录均递归地删除。 -i进行交互式删除

个人整理shell脚本编程笔记

shell脚本编程学习笔记(一) 一、脚本格式 vim shell.sh #!/bin/bash//声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program://程序内容说明 #History://时间和作者 二、shell变量的种类 用户自定义变量:由用户自己定义、修改和使用 与定义变量:Bash与定义的特殊变量,不能直接修改 位置变量:通过命令行给程序传递执行的参数 1、定义变量: 变量名要以英文字母或下划线开头,区分大小写。 格式:变量名=值 输出变量:echo $变量名 2、键盘输入为变量内容: 格式:read [-p "信息"] 变量名 如:read -p "pewase input your name:" name 3、不同引号对变量的作用 双引号"":可解析变量,$符号为变量前缀。 单引号'':不解析变量,$为普通字符。 反引号``:将命令执行的结果输出给变量。 三、shell条件测试 1、test命令: 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数字。 格式:test 条件表达式[ 条件表达式] (注意:[]与表达式之间存在空格) 2、常见的测试类型: 测试文件状态 格式:[ 操作符文件或目录] 如:if [ -d /etc ] then echo "exists" else echo "not exists" fi 常见的测试操作符: -d:测试是否为目录 -e:测试目录或文件是否存在 -f:测试是否为文件 -r:测试当前用户是否有读权限 -w:测试当前用户是否有写权限 -x:测试当前用户是否有执行权限

shell常用命令

目录 一、目录操作 a) ls--查看文件/目录: 常用:ls –l 查看详细文件列表 b) pwd--查看当前目录: c) cd--改变工作目录: 常用①:cd ../ 跳转到上一级目录 常用②:cd /boot/ 跳转到指定目录 d) mkdir--创建目录: 常用:mkdir 123 创建一个空文件夹 e) rm--删除文件/目录: 常用: rm -rf 123 删除目录文件夹,并且目录下的文件一并删除。 f) mv--移动文件/目录改名、移动: 移动文件: mv 1.sh ./123 → mv 目标文件移动至某目录 重名命文件:mv 1.sh 123.sh → mv 原文件欲改后文件 g) ln--建立软连接和硬连接: 软连接:ln -s 123.sh ../ → ln -s 源文件欲放置路径 硬连接:ln 123.sh ../ → ln 源文件欲放置路径 h) rmdir--删除空目录: 二、文件操作 a)cat--查看文件内容,若文件不存在,创建对应文件: 常用:cat 1.txt b)cp--拷贝文件、目录: 备份:cp 123.sh 1.sh → cp 源文件目标文件 复制至某路径:cp 123.sh ../ → cp 源文件目标路径 c)chmod--修改文件权限: 常用:chmod 777 1.sh 给1.sh最高权限 一般模式:chmod +rw 1.sh 仅当前用户下1.sh具有可读写权限 d)touch--创建文件: 常用:touch ./1.sh → touch 路径+名称 f)vim--创建并打开文件: 常用:vim ./1.sh → vim 路径+名称 g)find--在指定目录查找符合条件的文件: 以[文件名+类型]寻找:find ./ -name “*.*”→ find 路径 -nama

相关文档