Linux之常用命令

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:AIX
HP:HP Unix
sun:solaris
BSD:
minix:用于大学中
1991年Linus把minix迁移到PC中,1994成功
分支:
企业级:
redhat
centos
桌面版:
ubuntu
fedora
漂亮版:
SUSE
黑客版:
openSUSE
社区版:
Debian
彷window版本:
redflag
VI编辑器:它其它是一工具,相当于window系统中记事本。
vi 1.txt  进入到vi编辑器
vi编辑器有三种模式:
1.插入模式:a(往后) i(往前)o(换行)
2.命令行模式(默认):esc(从插入模式不能直接进入末行模式,需经过命令行模式进行切换)

3.末行模式:":"

vi编辑器工作模式:


Linux里的目录结构:
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/prac
创建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
Linux常用命令:
语法: 命令名 选项 参数 
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: 删除一个空目录

选项与参数:

-p :连同上一级『空的』目录也一起删除

rm -r:  删除一个空+非空目录
ls
-a:显示隐藏文件(ls -a)
-l: 以列表方式显示(ls -l)
mkdir
-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 源文件 目标文件(复制文件)

选项与参数:

-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
   cp -r 源文件夹 目标文件(复制多级文件夹)
   mv:移动文件或文件夹

        mv 源文件 目标文件

选项与参数:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u:若目标文件已经存在,且 source 比较新,才会升级 (update)

   mv -r 源文件夹 目标文件(移动多级文件夹)
   mv -r 源文件夹 新文件名(修改文件名称)
   rm:删除文件或文件夹

   rm 文件名

选项与参数:

-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;

-i :互动模式,在删除前会询问使用者是否动作

-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!

   rm -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 b
   mv 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指令处理备份文件。

 注:$:普通用户
        #:root(管理员)用户
查询命令问man+命令
路径:
相对路径:没有以"/"开头的路径,相对于当前路径(从当前位置出发查找)
比如在/home/soft01下进入prac目录:cd prac  
绝对路径:以"/"开头的路径(从根出发查找)
比如进入prac目录:cd /home/soft01/prac
创建文件夹:  mkdir  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包。

  1. nohup java -jar XXX.jar &  

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

实时查看某日志

tail  -f  XXX.log  根据文件描述符进行追踪,当文件改名或被删除,追踪停止

rz上传文件

-e选项强制对rz的控制字符进行转义,就想C中表示真正的反斜杠 '/',需要 '//'进行转义一样。

 

就想到是不是exe文件存在rz程序的控制字符导致上传出错,所以加上-e选项,问题解决,因此可以确定是由于文件中存在rz的控制字符导致了rz上传错误,所以为了防止rz出现上述问题,建议在用rz命令时都加上-e选项。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值