ubuntu命令集

命令格式参数示例说明
Ctrl+Alt+T   打开终端
lsls -参数 查看的文件夹 | grep 部分文件名
a
al
 显示当前文件夹的可见文件
显示当前目录下的所有文件及文件夹包括隐藏的.和..等
显示当前目录下的所有文件及文件夹包括隐藏的.和..等并显示详细信息,详细信息包括大小,属组,创建时间
ls   linux 文件颜色的含义,白色文件代表一般性文件,如文本文件,配置文件,源码文件等; 蓝色代表目录,绿色代表可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其他文件,红色闪烁表示链接的文件有问题了,黄色表示设备文件。
ls -d .*   显示当前文件夹的隐藏文件
ls -a   显示当前文件夹的所有文件
ll   显示当前文件夹的所有文件的详细信息,包含拥有者,属组,操作权限,链接信息
rmrm 文件;
rm -rf 目录
-r表示递归操作;
-f表示强行删除,不作任何提示
 删除文件或目录
apt-getsudo apt-get install 软件名apt-get install xxx 安装xxx 。如果带有参数,那么-d 表示仅下载 ,-f 表示强制安装 
apt-get remove xxx 卸载xxx 
apt-get remove –purge softname1 卸载并清除配置
apt-get update 更新软件信息数据库 
apt-get upgrade 进行系统升级
apt-cache search 搜索软件包
sudo apt-get install build-essentialapt-get理论上是要求能够联网,但是如果制作了本地源,就不需要联网,制作本地源可以参考;
使用apt-get方法安装的软件,所有下载的deb包都缓存到了/var/cache/apt/archives目录下了,所以可以把常用的deb包备份出来,甚至做成ISO工具包、刻盘,以后安装Ubuntu时就可以在没有网络环境的情况下进行了;
dpkgsudo dpkg -i package.debdpkg -i package.deb 安装包
dpkg -r package.deb 删除包
dpkg -r –purge package.deb 连同配置文件一起删除
dpkg -P package.deb 删除包(包括配置文件)
dpkg -info package.deb
dpkg -L package 列出与该包关联的文件
dpkg -l package.deb 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容 dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包
 下面的命令是拷贝archives这个目录到/var/cache/apt/目录下,替换原有的archives
enadmin@ubuntu-server:~/ftp$ sudo cp -r archives/ /var/cache/apt/
make install 配置:这是编译源代码的第一步,通过 ./configure 命令完成。执行此步以便为编译源代码作准备。常用的选项有 –prefix=PREFIX,用以指定程序的安装位置。更多的选项可通过 –help 查询。也有某些程序无需执行此步。
编译:一旦配置通过,可即刻使用 make 指令来执行源代码的编译过程。视软件的具体情况而定,编译所需的时间也各有差异,我们所要做的就是耐心等候和静观其变。此步虽然仅下简单的指令,但有时候所遇到的问题却十分复杂。较常碰到的情形是程序编译到中途却无法圆满结束。此时,需要根据出错提示分析以便找到应对之策。
安装:如果编译没有问题,那么执行 sudo make install 就可以将程序安装到系统中了。
//1.解压缩tar -zxf nagios-4.0.2.tar.gz 
//2.进入目录cd nagios-4.0.2
//3.配置 ./configure –prefix=/usr/local/nagios
//4.编译make all
//5.安装make install && make install-init && make install-commandmode && make install-config
如果要使用make安装的话,那么必须得安装build-essential这个依赖包,安装方法已经在前面说过了。在安装完毕以后,我们就可以进行源码安装。源码安装大致可以分为三步骤:(./configure)–> 编译(sudo make) –> 安装(sudo make install)。
bin安装   直接下载编译好的bin文件,格式如xxx.tar.gz,然后直接解压缩到目标目录,然后配置好环境变量即可
chmodchmod [-cfvR] [–help] [–version] mode file-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或–quiet或——silent:不显示错误信息;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
mode:
u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”; 
w 写入权限,数字代号为“2”; 
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。
chmod u+x,g+w f01  //为文件f01设置自己可以执行,组员可以写入的权限;
chmod u=rwx,g=rw,o=r f01;
chmod 764 f01 ;
chmod a+x f01  //对文件f01的u,g,o都设置可执行属性
chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。
Linux用 户分为:拥有者、组群(Group)、其他(other),Linux系统中,预设的情況下,系统中所有的帐号与一般身份使用者,以及root的相关信 息, 都是记录在/etc/passwd文件中。每个人的密码则是记录在/etc/shadow文件下。 此外,所有的组群名称记录在/etc/group內!
chownchown [选项]… [所有者][:[组]] 文件.必要参数:
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
选择参数:
–reference=目录或文件,把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
–from=当前用户:当前群组, 只有当前用户和群组跟指定的用户和群组相同时才进行改变
–help 显示帮助信息
–version 显示版本信息
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie : chown jessie:users file1.txt ;
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :chown -R lamport:users * ;
要更改文件 program.c 的所有者:chown jim program.c ,program.c的用户访问权限现在应用到 jim。作为所有者,jim 可以使用
要将目录 /tmp/src 中所有文件的所有者和组更改为用户 john 和组 build:chown -R john:build /tmp/src
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
tartar -cvf name.tar directory_to_compress;
tar -xvf name.tar;
tar -xvf name.tar -C location;
-c代表压缩;
-v代表压缩或解压时打印整个过程;
-f代表后面跟着文件名;
-x代表解压缩;-C后面跟着解压后的目标路径
tar -xvf archive_name.tar -C /tmp/extract_here/Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。
zipzip name.zip directory_to_compress;
unzip name.zip
  zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.bz2在压缩率方面做得非常好。
tar.gztar -zcvf name.tar.gz directory_to_compress;
tar -zxvf name.tar.gz;
tar -zxvf name.tar.gz directory_to_decompress
-z代表压缩或解压缩的格式为gz;
其他参数与tar一致;
 与tar相比其实只是多了个指明压缩格式的z参数,并且文件名多了.gz;实际上对于.tar.gz格式的文件解压时即使不写z参数也能正常解压,因为linux系统已经预装了这些工具包,在解压缩时会自动选用合适的工具来解压;tar.gz压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。
.tar.Ztar Zcvf Name.tar.Z directory_to compress;
tar Zcvf name.tar.Z directoory_to decompress
   
tar.bz2tar -jcvf name.tar.bz2 directory_to_compress;
tar -jxvf name.tar.bz2;
tar -jxvf name.tar.bz2 directory_to _decompress
-j代表压缩格式为bz2 这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。
tar.bz与tar.bz2除了文件名后缀少了2其他格式一模一样   
unrarunrar a name.rar directory_to_compress;
unrar e name.rar;
unrar x name.rar directory_to_compress
a代表解压;
e代表解压到当前目录;
x代表解压到指定目录
 可以使用unrar –help来查看相关参数的作用
rarrar a name.rar;
rar e name.rar
   
toptop
top -bn 1 -i -c
无参数,显示不同进程对cpu、内存等使用情况,可以按ctrl+c退出cpu查看;
 全参数的时候,第三行有cpu使用率的相关情况
us:表示用户空间程序的cpu使用率(没有通过nice调度);
sy:表示系统空间的cpu使用率,主要是内核程序;
ni:表示用户空间且通过nice调度过的程序的cpu使用率;
id:空闲cpu;
wa:cpu运行时在等待io的时间;
hi:cpu处理硬中断的数量;
si:cpu处理软中断的数量

st:被虚拟机偷走的cpu
findfind path expression search-termpath 路径,可以不写
expression 搜索方式,如名字、类型、所属人、大小、时间、权限
search-term 查询关键词(文件名)
find -name test.file
find /var -name test.file
不提供路径会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置。find命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话。要显著减少时间,你可以指定搜索的目录。
locate  locate interfaces使用locate命令在根目录下搜索interfaces文件,比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文件信息。
whereis  whereis grep使用whereis命令搜索grep二进制文件搜索linux系统中的所有可执行文件即二进制文件。
which  which grep使用which命令查看grep命令是否存在以及存在的目录查看系统命令是否存在,并返回系统命令所在的位置
type  type cd查看cd命令是否为系统自带的命令查看某个命令是否为系统自带的命令
mkdir 目录名   新建一个文件夹
touch 文件名   新建一个空文件
rmdir 目录名   删除一个空文件夹,文件夹里有内容则不可用
rm -rf 目录名   删除一个文件夹,里面有内容也可以
cp 文件名 目标路径   拷贝一个文件到目标路径,似乎进入系统文件夹可以从其他地方拷过来,但在普通文件夹却不一定能拷到系统文件夹去
cp -i   拷贝,同名文件夹存在时,输出[yes/no]询问是否执行
cp -f   强制复制文件,如有同名不询问
     
     
     
     
     
     
     
     
     
     
     

Ubuntu 16.04 LTS 中安装命令的简化

Ubuntu 16.04 LTS老版本Ubuntu
apt install 包名替代 apt-get install 包名
apt remove 包名替代 apt-get remove 包名
apt search 包名替代 apt-cache search 包名
apt show 包名替代 apt-cache show 包名
apt update替代 apt-get update
apt upgrade替代 apt-get upgrade
apt list –installed
  • 替代 dpkg –get-selections | grep -v deinstall
  • 替代 dpkg -l
apt list –upgradableapt-get -u upgrade –assume-no
apt edit-sources
  • 替代 echo ‘new line of text’ | sudo tee -a /etc/apt/sources.list
  • 替代 sudo nano /etc/apt/sources.list
apt autoremove替代 apt-get autoremove
apt purge 包名替代 apt-get purge 包名

yum方式安装:(安装rpm包)

rpm 是linux的一种软件包名称,以.rmp结尾,安装的时候语法为:rpm -ivh。 
rpm包的安装有个很大的缺点就是文件的关联性太大,有时装一个软件要安装很多其他的软件包,很麻烦。 
所以为此RedHat小红帽开发了yum安装方法,他可以彻底解决这个关联性的问题,很方便,只要配置两个文件即可安装,安装方法是:yum -y install 。 
yum并不是一中包,而是安装包的软件 
简单的说: rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包,能更新系统, 
且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的。 
linux下更多软件安装方法可参考《linux安装软件的几种方法》

如何在linux shell中将执行结果不在屏幕上打印,而是保存到文件中及如何以当前时间命名文件

格式为:执行语句 > 要保存的文件名 
比如

python xxx.py > abc.txt
bin/sparksql xxx.txt >abc.txt
  • 1
  • 2

如何让文件名为当前时间?

 $(date -d "today" +"%Y%m%d_%H%M%S").txt#date 是linux中获取时间的命令,参数-d "today"是获取今天的时间。后面是自己想要的日期时间字符串格式。还可以在前后加上其他字符串,比如本例中的'.txt'
  • 1

ps -ef | grep xxx命令

此命令表示查看相关进程。如

ps -ef|grep java
#结果为:digger          5350    5312      0            08:46       pts/2    00:00:00 grep --color=auto java
#对应字段:UID            PID    PPID      C            STIME       TTY      TIME      CMD
#字段解释:进程所属用户ID  进程ID  父类进程ID CPU占用百分比  进程开始时间 终端位置 cpu时间    执行的命令
  • 1
  • 2
  • 3
  • 4

ps:将某个进程显示出来 
-A  显示所有程序。 
-e  此参数的效果和指定”A”参数相同。 
-f  显示UID,PPIP,C与STIME栏位。 
grep命令是查找 
中间的|是管道命令 是指ps命令与grep同时执行 
这条命令的意思是显示有关java有关的进程,包括java和grep java这两个甚至包括ps -ef本身,而grep是查找输出包含想要的字符串的行,也就是说grep java是在所有运行的进程中查找输出包含“java”字符串的输出行,这里面就包含java,和grep java两个进程。

linux系统查看端口占用情况

1、查看端口是否已经打开: 
netstat -an | grep 端口号 
 
2、查看端口是被哪个应用程序使用: 
netstat -apn | grep 端口号 
或者ps -ef | grep 端口号 
 
或者lsof -i:端口号 

tail命令 文件内容查看

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。 
通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。 
注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。 
语法 
tail(选项)(参数) 
选项

--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
-c<N>或——bytes=<N>:输出文件尾部的NN为整数)个字节内容;
-f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效;
-F:与选项“-follow=name”和“--retry"连用时功能相同;
-n<N>或——line=<N>:输出文件的尾部NN位数字)行内容。
--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
-q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
-v或——verbose:当有多个文件参数时,总是输出各个文件名;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
参数解释:
-f 该参数用于监视File文件增长。
-c NumberNumber 字节位置读取指定文件
-n NumberNumber 行位置读取指定文件。
-m NumberNumber 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
-b NumberNumber 表示的512字节块位置读取指定文件。
-k NumberNumber 表示的1KB块位置读取指定文件。
File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

参数 
文件列表:指定要显示尾部内容的文件列表。 
实例

tail file (显示文件file的最后10行)
tail +20 file (显示文件file的内容,从第20行至文件末尾)
tail -c 10 file (显示文件file的最后10个字符)
tail -n 20 filename 说明:显示filename最后20行。
tail -r -n 10 filename 说明:逆序显示filename最后10行。
  • 1
  • 2
  • 3
  • 4
  • 5

补充: 
跟tail功能相似的命令还有: 
cat 从第一行開始显示档案内容。 
tac 从最后一行開始显示档案内容。 
more 分页显示档案内容。 
less 与 more 相似,但支持向前翻页 
head 仅仅显示前面几行 
tail 仅仅显示后面几行 
n 带行号显示档案内容 
od 以二进制方式显示档案内容

Linux cat命令详解

cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的; 
cat主要有三大功能: 
1.一次显示整个文件

$ cat   filename
  • 1

2.从键盘创建一个文件

$ cat  >  filename
  • 1

只能创建新文件,不能编辑已有文件. 
3.将几个文件合并为一个文件

$cat   file1   file2  > file
  • 1

cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName 
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案) 
参数:

-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank-n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
  • 1
  • 2
  • 3
  • 4

范例:

cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容
  • 1
  • 2
  • 3

在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的童鞋可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用? 
EOF是“end of file”,表示文本结束符。 
 
首先必须要说明的是EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。 
可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序 
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。 
接下来,简单描述一下几种常见的使用方式及其作用:

1、cat<<EOF,以EOF输入字符为标准输入结束:
2、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束:
注意:输入时是没有'>'的。
3、cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样:
  • 1
  • 2
  • 3
  • 4

更详细参考Linux cat命令详解

ubuntu查看系统信息命令

    查看处理核信息
    cat /proc/cpuinfo |grep “model name” && cat /proc/cpuinfo |grep “physical id”
    Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息,此命令是在/proc/cpuinfo文件下查看model name和 physical id
    通过Physical Processor ID来区分单核和双核
    2.查看内存大小
    cat /proc/meminfo |grep MemTotal

uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :#查看CPU相关参数的linux系统命令
cat /proc/cpuinfo| grep “processor”| wc -1 #查看核数
cat /proc/partitions :#查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :#查看linux系统内存信息的linux系统命令
cat /proc/version#查看版本,类似uname -r
cat /proc/ioports :#查看设备io端口
cat /proc/interrupts :#查看中断
cat /proc/pci :#查看pci设备的信息
cat /proc/swaps :#查看所有swap分区的信息
fdsik -l :#查看磁盘分区
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

shell 脚本命令太长,如何换行

行尾加\ 
表示下一行和这一行是一个命令行,后面不能有注释、空格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值