1.whereis 文件名
特点:快速,但是是模糊查找
例如:
whereis php #会把php,php.ini,php.*所在的目录都找出来.
2.find / -name 文件名
特点:准确,但速度慢,消耗资源大
例如:
如果想找到php.ini的准确位置,需要用
#find / -name php.ini
3.locate 文件名
最快,最好的方法.
注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.
1.whereis 文件名
特点:快速,但是是模糊查找
例如:
whereis php #会把php,php.ini,php.*所在的目录都找出来.
2.find / -name 文件名
特点:准确,但速度慢,消耗资源大
例如:
如果想找到php.ini的准确位置,需要用
#find / -name php.ini
3.locate 文件名
最快,最好的方法.
注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.
linux下的变量可分成两种:Shell变量和环境变量。
Shell变量,又称本地变量,包括私有变量以及用户变量,不同类的shell有不同的私有变量,bash,ksh,csh等,每种shell的私有变量都不一样
环境变量,又称用户变量,与shell无关
常规定义变量的方法:变量名=变量值
注意:
1.变量名和=号之间不能有空格,否则shell会把变量名当成命令
2.变量名称一般使用大写字母
env命令:显示当前用户的环境变量
set命令:不加参数,显示当前shell的所有本地设置的Shell变量,否则设置shell变量
unset命令:unset为shell内建指令,删除变量或函数。
exprot命令:显示(设置)当前导出成用户变量的shell变量(注意:export为bash或类bash私有的命令)
echo $变量名:查看变量值(其中,$变量:引用变量的意思)
[laiyu@localhost ~]$ env
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
USER=laiyu
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;…
MAIL=/var/spool/mail/laiyu
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/laiyu/bin
PWD=/home/laiyu
LANG=en_US.UTF-8
…
HOME=/home/laiyu
LOGNAME=laiyu
…
_=/bin/env
[root@localhost ~]# set | more
BASH=/bin/bash
…
BASH_CMDS=()
…
[laiyu@localhost ~]$ export TEST=test #增加一个环境变量TEST
[laiyu@localhost ~]$ env | grep TEST #查看增加的变量
TEST=test
[laiyu@localhost ~]$ unset $TEST #删除环境变量TEST(这里TEST前有无美元符都一样)
[laiyu@localhost ~]$ env | grep TEST #输出为空
注意:unset只能删除非只读变量
[root@localhost ~]# echo $HOME
/root
列出所有的Shell赋予程序的环境变量
[root@localhost ~]# export -p #等同export
…
declare -x HOME=”/root”
declare -x HOSTNAME=”localhost.localdomain”
declare -x LANG=”en_US.UTF-8″
declare -x LESSOPEN=”|/usr/bin/lesspipe.sh %s”
declare -x LOGNAME=”root”
declare -x PATH=”/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/bin/:/usr/local/tsung/bin”
…
把shell变量导出为用户变量
[root@localhost ~]# SHOUKE=ishouke #定义shell变量
[root@localhost ~]# echo $SHOUKE
ishouke
#查看当前用户的用户变量是否存在SHOUKE变量,结果是不存在
[root@localhost ~]# env | grep SHOUKE
#查看当前shell的本地变量是否存在SHOUKE变量,结果是不存在
[root@localhost ~]# set | grep SHOUKE
SHOUKE=ishouke
#查看Shell赋予程序的环境变量中是否存在SHOUKE变量,结果不存在
[root@localhost ~]# export | grep SHOUKE
#导出shell变量为用户变量
[root@localhost ~]# export SHOUKE
[root@localhost ~]# env | grep SHOUKE
SHOUKE=ishouke
[root@localhost ~]#
————————————–
也可以如下方式使用export
[root@localhost ~]# export SHOUKE=ishouke
[root@localhost ~]# env | grep SHOUKE
SHOUKE=ishouke
[root@localhost ~]#
注意:以上的设置仅在当前打开的shell窗口或或其子shell窗口中起作用,临时的,关闭当前shell窗口或重启机器,则刚才的设置失效,,或打开一个新窗口,设置在新窗口中不起作用。
d 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
名称: dd
使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file
使用方式:
dd [option]
如果你想要在线看 manual, 可以试试:
dd –help
或是
info dd
如果你想要看看这个版本如何:
dd –version
输入或输出
dd if=[STDIN] of=[STDOUT]
强迫输入或输出的Size为多少Bytes
bs: dd -ibs=[BYTE] -obs=[SIZE]
强迫一次只做多少个 Bytes
cbs=BYTES
跳过一段以后才输出
seek=BLOCKS
跳过一段以后才输入
skip=BLOCKS
例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:
$ dd if =/dev/fd0 of = /tmp/tmpfile
拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:
$ dd if = /tmp/tmpfile of =/dev/fd0
软盘拷贝完成后,应该将临时文件删除:
$ rm /tmp/tmpfile
例2:把net.i这个文件写入软盘中,并设定读/写缓冲区的数目。
(注意:软盘中的内容会被完全覆盖掉)
$ dd if = net.i of = /dev/fd0 bs = 16384
例3:将文件sfile拷贝到文件 dfile中。
$ dd if=sfile of=dfile
例4:创建一个100M的空文件
dd if=/dev/zero of=hello.txt bs=100M count=1
$ dd if=/dev/zero of=./test.txt bs=1k count=1
$ ls -l
total 4
-rw-r–r– 1 oracle dba 1024 Jul 15 16:56 test.txt
eg:
$ find / -name access_log 2>/dev/null
创建特定大小文件最简单的方法是使用 dd 命令。
dd if=“inputFileName” of=”outFileName” bs=”块大小” count=“块个数”
块大小可以使用各种计量单位
字节(1B) – c 字(2B) – w
块(512B) – b 千字节(1024B) – k
兆字节(1024K) – M 吉字节(1024M) – G
例:
dd if=/dev/zero of=test.file bs=1M count=10
在当前文件夹下创建一个大小为10M的文件test.file 内容全为0
/dev/zero 是一个字符设备,它会不断返回0值字节(/0).
如果不指定输入参数(if),默认情况会从stdin读取输入。如果不指定输出参数(of),默认情况会将stdout作为输出。
也可用 dd 命令来传输大量数据来测试内存的操作速度。
$ dd if=/dev/zero of=./testmm.file bs=10M count=10 记录了10+0 的读入 记录了10+0 的写出 104857600字节(105 MB)已复制,0.577581 秒,182 MB/秒 $ ll -h |grep ‘testmm.file’ -rw-rw-r–. 1 itudu itudu 100M 7月 16 18:14 testmm.file
文件类型:
一般文件: –
目录文件: d
字符设备: c
块设备: b
链接文件: l
套接字文件: s
管道文件: p
目录的读、写、执行权限意义:
读权限:允许读取目录中文件和子目录的列表
写权限:允许在目录中新建和删除文件或子目录
执行权限:可以访问目录中的文件和子目录
查看哪些版本可以安装: sudo apt-cache search aarch64 安装一个gcc开头的5版本的支持64bit ARM linux的交叉编译工具: sudo apt-get install gcc-5-aarch64-linux-gnu 然后再安装一个没有版本号的gcc-aarch64-linux-gnu: sudo apt-get install gcc-aarch64-linux-gnu 以上步骤是安装支持ARM64位系统的交叉编译工具,安装之后,用aarch64-linux-gnu-gcc -v可以查看里边的版本信息,里边有host是什么,target是什么。
注:配置/etc/network/interfaces已无用
root@ubuntu:~# vim /etc/netplan/50-cloud-init.yaml
network: ethernets: ens33: addresses: [192.168.1.108/24] dhcp4: true optional: true version: 2
执行命令 使配置生效
root@ubuntu:~# netplan apply
1、问题出现的原因
当我打开我的Ubuntu的准备写点内容的时候,窗口提示我系统升级,当时没有在意,大概浏览了下更新列表感觉不错,就更新了,有16更新到18版。使用sudo apt-get update的时候,提示没有公钥无法验证下列签名。
2、问题解决
通过提示很容易理解,
sudo apt–key adv ––keyserver keyserver.ubuntu.com ––recv–keys 40976EAF437D05B5
注意:
解决方法中的 40976EAF437D05B5要与你提示错误中的签名(如下)一致。
由于没有公钥,无法验证下列签名: NO_PUBKEY 40976EAF437D05B5
测试下效果,