Linux基础操作

Linux基础操作

 

  • 输出重定向

追加写入文件>>

覆盖写入文件>

 

//正常输出写入文件1错误信息写入文件2

命令>>文件1 2>>文件2

 

//无论对错输出信息均写入文件

命令&>>文件

命令>>文件 2>&1

 

  • 编辑命令行

ctrl+l

清屏,同clear

ctrl+s

阻止屏幕输出

ctrl+q

允许屏幕输出

ctrl+c

终止当前命令

ctrl+z

挂起命令,把当前进程转后台,使用fg命令恢复

ctrl+d

退出当前shell

ctrl+a

光标移动到命令行首

ctrl+e

光标移动到命令行末

ctrl+u

从光标处删除至命令行首

ctrl+k

从光标处删除至命令行末

ctrl+y

粘贴至光标后

 

命令&

//将命令置于后台运行可通过jobs命令查看后台进程再使用fg命令唤醒可使用ps命令查看当前进程再使用kill命令终止进程

 

命令1;命令2

//多个命令顺序执行

 

命令1&&命令2

//当命令1执行成功时再执行命令2

 

命令1||命令2

//仅当执行命令1失败时再执行命令2

 

命令1|命令2

//管道命令|用于将一系列标准输入输出连接起来的进程其中上个进程的输出作为下一个进程的输出ls -l | grep -i keyword

 

 

  • LINUX修改PATH环境变量

一、修改配置文件的方法

()修改系统级的PATH环境变量

1,in your /etc/profile,add:

export PATH=$PATH:/path1:/path2:/pahtn

2,run:

source ./etc/profile

()修改用户级别的PATH环境变量

#cd /home/aaa

#vi .bash_profile 或者.profile

add ...

save

# source .bash_profile

二、命令行状态下直接修改环境变量修改环境变量

bash下用exportcsh下用setenv。比如:

export PATH=$PATH:/usr/local/bin

 

相对路径

.. 上一层目录

. 当前目录

~ home目录

- 上一个工作目录

 

查看文件信息

ls -ltr //按修改时间列出文件和文件夹信息

ls-AF //列出当前目录下的所有文件可执行文件后加*和目录后加/

ls-lh //列出的文件大小以字节为单位表示

 

创建文件夹

mkdir -p 目录名 //若中间层目录不存在则同时创建

mkdir -m 权限值 //权限值为777表示具备全部权限

 

复制文件

cp [选项] 源文件/目录 目标目录

-R or -r //将指定目录的所有文件/目录一并复制

-u //文件有更新时才复制

 

移动文件

mv 源文件/目录 目标文件/目录

//若源和目的均为同目录下的文件/目录实为重命名操作

 

删除文件

rm [选项文件/目录

-r //删除整个目录含子目录

-f //即使源文件属性设为只读也直接删除

 

touch命令用于新建文件或更新文件更改时间

 

ln命令

//默认建立硬链接以文件副本形式存在不占用实际空间

//-s选项表示建立软链接以路径的形式存在可以链接目录

 

查找“命令”which

查找“文件”whereislocatefind

find [查找范围] [选项] [查找内容]

 

more命令用于查看大文件空格键往后翻页ctrl+B往前翻页less命令与more相反从后往前翻页

 

diff命令用于比较文件的差异可使用patch命令修改更新原有文件

 

grep命令用于搜索-i 关键字忽略大小写

 

  • 文件访问权限

例如-rw-r--r--从左到右-表示文件类型rw-表示文件所有者权限r--表示所属组权限r--表示其他用户权限

文件类型

- 常规文件

d 目录

b 块设备

c 字符设备

l 链接文件

p 管道文件

s 套接字文件

权限

r 4

w 2

执行 x 1

 

chmod命令修改文件或目录的权限

chmod [who] [OPR] [PER] <file-name>

u/g/o/a +/-/= r/w/x/X

对目录进行操作时需加选项-R(对目前目录下的所有文件与子目录进行相同的权限变更)

    u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

 

  • 压缩包

.Z compress压缩文件

.gz gzip压缩文件

.bz2 bzip2压缩文件

.tar tar打包文件未经压缩

.tar.gz tar打包文件经过gzip压缩

.tar.bz2 tar打包文件经过bzip2压缩

 

压缩

gzip [-9] 文件名

bzip [-9] 文件名

解压缩

gzip -d .gz格式压缩文件

bzip2 -d .bz2格式压缩文件

gunzip .gz格式压缩文件

归档

tar [选项] 归档文件名 源文件或目录

-c 创建.tar文件

-x 解开.tar文件

-C 解包并指定释放目录

-z 调用gzip压缩或解压缩

-j 调用bzip2压缩或解压缩

-f 使用归档文件

 

  • 格式化分区

mkfs -t 文件系统类型 分区设备

文件系统类型

光盘或光盘镜像:iso9660

DOS fat16文件系统:msdos

Windows 9x fat32文件系统:vfat

Windows NT ntfs文件系统:ntfs

Mount Windows文件网络共享:smbfs

UNIX(LINUX) 文件网络共享:nfs

 

  • 挂载卸载文件系统

mount [-t 类型] 存储设备 挂载点目录

umount 存储设备位置/挂载点目录

例如:挂接U

linux系统而言,U盘是当作SCSI设备对待的。插入U盘之前,应先用fdisk –l more /proc/partitions查看系统的硬盘和硬盘分区情况。

# fdisk -l

插入U盘后,再用fdisk –l more /proc/partitions查看系统的硬盘和硬盘分区情况。

# fdisk -l

系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们要挂接的U盘。

#mkdir -p /mnt/usb

注:建立一个目录用来作挂接点(mount point)

#mount -t vfat /dev/sdd1 /mnt/usb

若要长期挂载可更新/etc/fstab配置文件

 

  • 网络管理相关

netstat命令查看系统的网络连接状态路由表接口统计等信息

-a 显示所有活动连接

-p 显示进程信息

-t 查看TCP协议相关信息

-u 查看UDP协议相关信息

-r 显示路由表信息

-i 显示接口统计信息

 

traceroute 目标主机地址

可测试从当前主机到目的主机之间经过的网络节点

 

禁用网卡ifconfig 网卡名 down

激活网卡ifconfig 网卡名 up

 

管理网络配置文件

1)网络配置目录

/etc/sysconfig/netwrok-scripts/

2)网络配置文件的命名规则

ifcfg-xxxx ##文件名称

DEVICE=xxx ##设备名称

BOOTPROTO=dhcp|static|none ##设备工作方式

ONBOOT=yes ##网络服务开启时自动激活网卡

IPADDR=xxx.xxx.xxx.xxx ##IP地址

PREFIX=24 ##子网掩码

NETMASK=255.255.255.0 ##子网掩码

NAME=xxx ##接口名称

 

/etc/resolv.conf保存本机使用的DNS服务器IP地址

 

添加静态路由:

route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0

删除静态路由

route del -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0

 

  • 管理进程

PS命令用于查看静态的进程统计信息

PS aux 显示所有正在内存当中的进程信息BSD格式

PS -elf 标准格式显示进程信息

top命令查看动态的进程排名信息

kill PID 终止指定的进程

killall 名称 终止指定名称的所有进程 

 

linux上进程有5种状态:

1. 运行(正在运行或在运行队列中等待)

2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

 

ps工具标识进程的5种状态码:

D 不可中断 uninterruptible sleep (usually IO)

R 运行 runnable (on run queue)

S 中断 sleeping

T 停止 traced or stopped

Z 僵死 a defunct (zombie) process

 

  • VI编辑器

 

底行模式下

:set nu 显示行号

:set nonu 取消行号

命令模式下

:w 保存文件

:w /root/nf 另存为nf

:q 不修改退出

:q! 放弃修改并退出

:wq 保存文件并退出

插入模式下

#G 快速跳到文件的第#

xDel 删除光标处的单个字符

dd 删除当前光标所在行

yy 复制当前整行

p 粘贴至光标位置之后

P 粘贴至光标位置之前

/word 从上而下在文件中查找字符串word

?word 从下而上在文件中查找字符串word

n 定位下一个匹配的字符串

N 定位上一个匹配的字符串

u 撤销上一步操作

U 撤销之前所有的操作

 

  • NFS:Network File System

NFS更像一个文件系统代理用户通过访问这个代理来读写远端服务器文件

NFS服务器软件包nfs-kernel-server

配置NFS服务/etc/exports定义NFS系统的共享目录访问权限和允许访问的主机等参数

启动和停止NFS

#/etc/init.d/nfs-kernel-server start/stop/restart

#service nfs-kernel-server start/stop/restart

客户端挂载NFS

mount -t nfs 服务端IP:共享目录 本地挂载点

 

dpkg命令用于安装删除构建和管理Debian的软件包

-l 显示所有已经安装的Deb含版本号及简短说明

-L 显示一个包安装到系统里的目录信息

 

  • Samba

实现Windows主机与Linux主机之间的资源共享

CS架构客户机通过SMBServer Message Block协议可访问服务器上的共享文件系统打印机及其他资源

安装apt-get install samba

配置Samba

1、建立Samba共享文件夹并修改文件夹权限

2、修改/etc/Samba/smb.conf文件包含文件夹路径用户权限等信息

3、设定Samba用户smbpasswd -a rootpdbedit -L命令列出全部Samba用户

启动Samba

/etc/init.d/smbd start/stop/restart

service smbd start/stop/restart

Linux上访问Windows

1、安装Samba客户端apt-get install smbclient

2、登陆smbclient //window IP/共享目录 -U 用户名 密码使用getputquit等命令

3、windows上的共享文件夹挂载到Linux主机的/mnt/win目录

mount -t cifs //win IP/共享目录 /mnt/win -o username=xx,password=xx

Windows下访问Linux

资源管理器上访问//Linux IP

 

  • FTP

小文件传输不能列出目录不进行认证

传输模式文本模式ASCII和二进制模式binary

控制连接21端口和数据连接20端口

linux服务器端tftp-server的配置

1、安装tftp服务器

需要安装xinetd(守护tftp)、tftptftp-server 3个软件

2、配置tftp服务器

修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。开启TFTP服务

主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:

service tftp

{     socket_type            =dgram

       protocol              =udp

       wait                  =yes

       user                  =root

       server                 =/usr/sbin/in.tftpd

       server_args            =-s /home/mike/tftpboot -c

       disable                =no

       per_source            =11

       cps                   =100 2

       flags                  =IPv4

}

说明:server_args= -s <path> -c,其中<path>处可以改为你的tftp-server的根目录

参数-s指定chroot-c指定了可以创建文件。

3、启动tftp服务器并关闭防火墙

RedHat7+

systemctl disable firewall;systemctl stop firewall

systemctl enable xinetd;systemctl start xinetd

Redhat7-

/etc/init.d/iptables stop        //关闭防火墙

sudo /sbin/service xinetd start

service xinetd restart

/etc/init.d/xinetd start

看到启动[OK]就可以了

4、查看tftp服务是否开启

netstat -a | grep tftp

显示结果为

udp 0 0 *:tftp *:*

表明服务已经开启,就表明tftp配置成功了。

5tftp使用

复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。

 

登陆

tftp 192.168.1.2

tftp>get <download file>

tftp>put <upload file>

tftp>q

6tftp命令用法如下

tftp     your-ip-address

【进入TFTP操作】

connect:连接到远程tftp服务器

mode:文件传输模式

put:上传文件

get:下载文件

quit:退出

verbose:显示详细的处理信息

tarce:显示包路径

status:显示当前状态信息

binary:二进制传输模式

asciiascii传送模式

rexmt:设置包传输的超时时间

timeout:设置重传的超时时间

help:帮助信息

?:帮助信息

7、如果出现“AVC Denial, click icon to view”的错误,并不能传输文件

修改/etc/sysconfig/selinux,SELINUX设定为disable

使用命令setenforce 0selinux配置文件生效

 

  • SSH服务

openssh-server

openssh-client

启动/etc/init.d/ssh start

登陆ssh 远端主机IP -l 用户名

 

Linux scp命令用于Linux之间复制文件和目录。

scpsecure copy的缩写, scplinux系统下基于ssh登陆进行安全的远程文件拷贝命令。使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用。

1、从本地复制到远程

scp local_file remote_username@remote_ip:remote_folder

或者

scp local_file remote_username@remote_ip:remote_file

复制目录命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder

或者

scp -r local_folder remote_ip:remote_folder

2、从远程复制到本地

scp  remote_user@remote_ip:remote_file   local_file

scp -r remote_user@remote_ip:remote_dir  local_dir

 

posted @ 2021-02-12 10:31  thinkpadfan  阅读(103)  评论(0)    收藏  举报