Linux发展:
1946.2.14 第一台计算机诞生。
1960 单通道、单任务 最多连接30个用户。
1964 多通道、多任务 最多连接300个用户。
计划:multics(火星计划)
1969:(火星计划-》最终失败),在过程中有收获,Ken写一个用汇编写一个小OS,Unics。1970:Unix+NCP。1971:Dennis+Ken==>C语言(高级语言)。1973:用C改写Unix80%代码,推出Unix1.0。
分支:
IBM:AIXHP:HP Unixsun:solarisBSD:minix:用于大学中1991年Linus把minix迁移到PC中,1994成功
分支:
企业级:
redhatcentos
桌面版:
ubuntufedora
漂亮版:
SUSE
黑客版:
openSUSE
社区版:
Debian
彷window版本:
VI编辑器:它其它是一工具,相当于window系统中记事本。redflag
vi 1.txt 进入到vi编辑器
vi编辑器有三种模式:
1.插入模式:a(往后) i(往前)o(换行)2.命令行模式(默认):esc(从插入模式不能直接进入末行模式,需经过命令行模式进行切换)3.末行模式:":"
vi编辑器工作模式:
Linux里没有盘符的概念,就只有一个根目录"/",在根目录有常用目录,例如:
bin: 管理命令文件权限:
sbin: 管理员(超级用户)命令
boot: 存放系统启动时用到的文件
opt: 存放第三方软件
root: root用户的主目录
home: 当前用户(普通用户)主目录
tmp: 存放临时文件(temprary)
mnt: 挂载其它设备
lib: 类库
media: 存放媒体信息
etc: 存放全局配置文件
....
ls -l解析:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
-rwxrw-r--:表示权限(共10位)练习:
第一位:类型 -表示文件 d表示文件夹
第二段(2-4):当前用户的权限
第三段(5-7):当前用户所在组的权限
第二段(8-10):其它用户
r:read读
w:write写
x:exeucte执行
1:链接文件数
root:当前用户名
root:当前用户所在组
1213:文件字节大小
Feb 2 09:39:日期
abc:文件名
进入prac目录:cd /home/soft01/pracLinux常用命令:
创建abc目录:mkdir abc
创建123.txt文件:vi 123.txt
列表查看:ls -l
使用二进制修改123.txt的权限(当前用户r-x组r--其它---)
使用rwx方式修改abc的权限(当前用户6组5其它4)
语法:chmod 相应的权限 文件名
命令:chmod u+rw-x,g+r-w+x,o+r-w-x abc
语法: 命令名 选项 参数目录命令:
reboot:重启
clear: 清屏
pwd: 查看当前所在路径
ls: 查看所有(文件夹+文件)内容
ls -l: 用列表方式显示所有内容
mkdir: 创建文件夹
cd: 进入文件夹
cd ~: 进入宿主目录
cd /: 进入根目录
chmod:修改权限(change mode)chmod 777 文件名
cd: 进入文件夹
pwd: 查看当前所在路径
mkdir: 创建文件夹
rmdir: 删除空文件夹
ls|dir: 列出所有内容
rm -r: 删除空+非空文件夹
cd:
绝路径:cd /home/soft01/prac
相对路径:cd /prac
cd /: 进入根目录
cd ~: 进入宿主目录
cd . : 进入当前目录
cd .. : 进入上一级目录
cd ../ : 进入上一级目录
rmdir: 删除一个空目录
选项与参数:
rm -r: 删除一个空+非空目录-p :连同上一级『空的』目录也一起删除
ls
-a:显示隐藏文件(ls -a)mkdir
-l: 以列表方式显示(ls -l)
-p: 创建多层目录(mkdir -p a/b/c/d)练习:
-m:创建文件夹并指定文件夹权限(mkdir -m abc)
进入宿主目录:cd ~文件命令:
进入prac目录:cd prac
创建多级文件夹:mkdir -p a/b/c/d
进入b目录:cd a/b
返回b下,建b.txt文件: touch b.txt
回a,建a.txt文件: cd ../ touch a.txt
来d,建d.txt文件: cd b/c/d touch d.txt
来c,建c.txt文件: cd ../ touch c.txt
touch:创建文件
cp:复制文件或文件夹
cp 源文件 目标文件(复制文件)
cp -r 源文件夹 目标文件(复制多级文件夹)选项与参数:
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
mv:移动文件或文件夹
mv 源文件 目标文件
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u:若目标文件已经存在,且 source 比较新,才会升级 (update)
mv -r 源文件夹 目标文件(移动多级文件夹)rm:删除文件或文件夹
mv -r 源文件夹 新文件名(修改文件名称)
rm 文件名
选项与参数:
rm -r 文件夹(删除多级文件夹)-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!
file:查看文件或文件夹
find:查找符合要求的文件名(find -name *.txt)
通配符:
? 1个字符* 任意个字符
-name "*1*"
ln
-s 文件路径 链接名(ln -s a/aa/aaa mylnk)重定向
输出
>覆盖输出
>>追加输出
输入练习:
<把内容输入命令中去
wc>1.txt与wc<1.txt区别(后者统计1.txt中的内容,前者将统计文件内容包含文件名称)
cat<1.txt>2.txt (将1.txt内容复制到2.txt内容)
进入宿主目录: cd ~
进入prac目录: cd prac
创建目录a b: mkdir a b
进入a创建2.txt: touch 2.txt
进入b创建1.txt: touch 1.txt
把1.txt移到a下,2.txt移到b下:
mv a/1.txt bmv b/2.txt a
把1.txt复制到了b下:
cp a/1.txt b
在prac查询名称包含1的所有文件
find -name "*1*"
最后删除b:
rm -r b
在prac下创建a/1.txt的链接:
ln -s a/1.txt mylnk
cat 链接名 覆盖输出重定向 res.txt:
文件查看命令:cat mylnk > res.txt
cat:查看文件所有内容
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
tac: 行倒序查看文件所有内容(可以看出 tac 是 cat 倒着写的)
more:分页一页一页的显示文件内容(空格 下一页,回车 下一行)
less: 分页(支持方向键)空格 下一页,回车 下一行(与 more 类似,但是比 more 更好的是,他可以往前翻页!)
nl:显示的时候,顺道输出行号!
选项与参数:
-b : 指定行号指定的方式,主要有两种:
-b a:表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t: 如果有空行,空的那一行不要列出行号(默认值);
-n : 列出行号表示的方法,主要有三种:
-n ln:行号在萤幕的最左方显示;
-n rn:行号在自己栏位的最右方显示,且不加 0 ;
-n rz:行号在自己栏位的最右方显示,且加 0 ;
-w : 行号栏位的占用的位数。
head:显示前几行(默认10行) -行数(head -2)
tail: 显示后几行(默认10行) -行数(tail -5)
选项与参数:
-n:后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
grep:查询文件中的内容 -n:显示内容所在行(grep -n “要查找的内容” 要查找的文件名称)
注意区分: 查文件名 find -name "?*"
|: 管道命令压缩命令:
解析:把前面命令的结果交给后面的命令
示例:
ls -l /etc | less(把/etc配置文件目录内的文件以列表形式给出并以分页方式供用户查看)
.zip
命令zip,压缩: zip res.zip *.txt
命令unzip,解压:unzip res.zip
.tar.gz
tar命令用于备份文件。tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
命令tar
压缩 tar -zcvf res.tar.gz *.txt
解压 tar -zxvf res.tar.gz
参数:
-A或--catenate新增文件到已存在的备份文件。
-b<区块数目>或--blocking-factor=<区块数目> 设置每笔记录的区块数目,每个区块大小为12Bytes。
-B或--read-full-records 读取数据时重设区块大小。
-c或--create 建立新的备份文件。
-C<目的目录>或--directory=<目的目录> 切换到指定的目录。
-d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
-f<备份文件>或--file=<备份文件> 指定备份文件。
-F<Script文件>或--info-script=<Script文件> 每次更换磁带时,就执行指定的Script文件。
-g或--listed-incremental 处理GNU格式的大量备份。
-G或--incremental 处理旧的GNU格式的大量备份。
-h或--dereference 不建立符号连接,直接复制该连接所指向的原始文件。
-i或--ignore-zeros 忽略备份文件中的0 Byte区块,也就是EOF。
-k或--keep-old-files 解开备份文件时,不覆盖已有的文件。
-K<文件>或--starting-file=<文件> 从指定的文件开始还原。
-l或--one-file-system 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。
-L<媒体容量>或-tape-length=<媒体容量> 设置存放每体的容量,单位以1024 Bytes计算。
-m或--modification-time 还原文件时,不变更文件的更改时间。
-M或--multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
-N<日期格式>或--newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。
-o或--old-archive或--portability 将资料写入备份文件时使用V7格式。
-O或--stdout 把从备份文件里还原的文件输出到标准输出设备。
-p或--same-permissions 用原来的文件权限还原文件。
-P或--absolute-names 文件名使用绝对名称,不移除文件名称前的"/"号。
-r或--append 新增文件到已存在的备份文件的结尾部分。
-R或--block-number 列出每个信息在备份文件中的区块编号。
-s或--same-order 还原文件的顺序和备份文件内的存放顺序相同。
-S或--sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
-t或--list 列出备份文件的内容。
-T<范本文件>或--files-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
-u或--update 仅置换较备份文件内的文件更新的文件。
-U或--unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
-v或--verbose 显示指令执行过程。
-V<卷册名称>或--label=<卷册名称> 建立使用指定的卷册名称的备份文件。
-w或--interactive 遭遇问题时先询问用户。
-W或--verify 写入备份文件后,确认文件正确无误。
-x或--extract或--get 从备份文件中还原文件。
-X<范本文件>或--exclude-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。
-z或--gzip或--ungzip 通过gzip指令处理备份文件。
-Z或--compress或--uncompress 通过compress指令处理备份文件。
注:$:普通用户查询命令问man+命令
#:root(管理员)用户
路径:
相对路径:没有以"/"开头的路径,相对于当前路径(从当前位置出发查找)
比如在/home/soft01下进入prac目录:cd prac
绝对路径:以"/"开头的路径(从根出发查找)
创建文件夹: mkdir prac比如进入prac目录:cd /home/soft01/prac
进入文件夹: cd prac
查看当前位置:pwd
练习:
通过vi创建一个文件:vi Hello.java
输入a [进入到插入模式]
输入Esc键 [进入命令模式]
输入冒号[wq表示退出保存,q!表示退出不保存〕
编译javac Hello.java
运行java Hello
Linux tftp命令:
tftp命令用于传输文件。FTP让用户得以下载存放于远端主机的文件,也能将文件上传到远端主机放置。tftp是简单的文字模式ftp程序,它所使用的指令和FTP类似。
语法:tftp [主机名称或IP地址]
操作说明:
connect:连接到远程tftp服务器
mode: 文件传输模式
put: 上传文件
get: 下载文件
quit: 退出
verbose:显示详细的处理信息
tarce: 显示包路径
status: 显示当前状态信息
binary: 二进制传输模式
ascii: ascii 传送模式
rexmt: 设置包传输的超时时间
timeout:设置重传的超时时间
help: 帮助信息
练习:? : 帮助信息
登录远程服务器,然后用put命令上传本地文件test.txt,再使用get命令下载该文件到本地/home/soft01/prac下,最后退出tftp。自己尝试吧!
PS命令:
Linux ps命令用于显示当前进程 (process) 的状态。
语法:
ps [options] [--help]
参数:
练习:
- ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
- -A 列出所有的行程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
- au(x) 输出格式 :
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
# ps -A 显示进程信息
# ps -u root //显示root进程用户信息
# ps -ef //显示所有命令,连带命令行
linux下利用nohup后台运行jar文件包程序
打包后的jar包在Linux上运行
当然,首先Linux上已经有了Java的运行环境。然后只需要在命令行输入:java -jar test.jar
就可以运行了,其中test.jar就是之前打包好的Java程序的jar包。
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
实时查看某日志
tail -f XXX.log 根据文件描述符进行追踪,当文件改名或被删除,追踪停止
rz上传文件
-e选项强制对rz的控制字符进行转义,就想C中表示真正的反斜杠 '/',需要 '//'进行转义一样。
就想到是不是exe文件存在rz程序的控制字符导致上传出错,所以加上-e选项,问题解决,因此可以确定是由于文件中存在rz的控制字符导致了rz上传错误,所以为了防止rz出现上述问题,建议在用rz命令时都加上-e选项。