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下用export,在csh下用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
查找“文件”:whereis、locate、find
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 快速跳到文件的第#行
x或Del 删除光标处的单个字符
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架构,客户机通过SMB(Server Message Block)协议可访问服务器上的共享文件系统、打印机及其他资源。
安装:apt-get install samba
配置Samba:
1、建立Samba共享文件夹并修改文件夹权限
2、修改/etc/Samba/smb.conf文件(包含文件夹路径、用户权限等信息)
3、设定Samba用户,smbpasswd -a root,pdbedit -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 用户名 密码,使用get、put、quit等命令
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)、tftp和tftp-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配置成功了。
5、tftp使用
复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。
登陆
tftp 192.168.1.2
tftp>get <download file>
tftp>put <upload file>
tftp>q
6、tftp命令用法如下
tftp your-ip-address
【进入TFTP操作】
connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
?:帮助信息
7、如果出现“AVC Denial, click icon to view”的错误,并不能传输文件
修改/etc/sysconfig/selinux,将SELINUX设定为disable
使用命令setenforce 0让selinux配置文件生效
- SSH服务
openssh-server
openssh-client
启动:/etc/init.d/ssh start
登陆:ssh 远端主机IP -l 用户名
Linux scp命令用于Linux之间复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于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

浙公网安备 33010602011771号