Command [-option] [argument]
cd:是Change Directory的缩写,用来切换工作目录,语法:cd [相对或绝对路径或特殊符号]
cd :进入该用户的主目录 ~(root用户为/root,其他用户为/home/用户名)
cd .. :返回上一级目录(注意要空格)
cd - :返回上次所在目录
cd / :返回根目录 (绝对路径)
cd ./目录1/目录2 :进入当前目录下的子目录(相对路径)
pwd :显示工作路径(Print Working Directory 的缩写)
ls:是List的缩写,用于列出目录下的文件,语法:
ls [选项][目录或文件名]
ls -a :列出文件下所有的文件,包括以“.“开头的隐藏文件
**ls -lh *.log** :列出文件的详细信息(.log结尾,*为通配符代表任意多个字符)
file 文件或目录 :显示文件的类型(目录、text、zip、shell脚本等)
mkdir dir1 :创建目录(dir1)(mkdir为make directory的缩写)
mkdir -p ./dir1/dir2 :递归创建目录(-p:父目录不存在时,同时建立)
touch a.txt :创建文件a.txt
rm:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉; 语法:rm (选项)(参数)(注:如果参数中含有目录,则必须加上-r选项);
rm 文件 :删除文件
rm -r 目录或文件 :删除目录(及目录下所有文件)(非空也可以)
rm -rf 目录或文件 :强制删除,如:rm -rf * 为删除当前目录下所有文件
find -inum 1842601 -exec rm -rf {} ; :删除乱码文件或目录(会提示找不到此文件或文件夹但其实已经删除了)(上传中文文件会乱码,rm命令删除不了)(先使用ls -i命令找到inode,即文件或目录前面的数字字符串,如1842601;)
mv:是move的缩写,可以用来剪切移动文件、目录或者将文件改名;
语法:mv 源文件 目标文件(改名)或目录(移动);
mv a b :移动或者重命名一个文件或者目录(存在即移动目录或覆盖文件,不存在即改名)
mv /opt/git/g /opt/a :移动g到opt目录下并改名为a(a目录不存在,若存在则为移动g到a目录下)
mv -t ./test a.txt b.txt :移动多个文件到某目录下
cp:复制文件或目录;cp命令可以将单个或多个文件复制到一个已经存在的目录下;
常用:cp -ai 文件或目录 目标目录;
cp -ai /opt/abc /opt/git/ :复制abc目录(或文件)到git目录下(选项a表示文件的属性也复制、目录下所有文件都复制;i表示覆盖前询问)
ln:link的缩写,用于建立硬(软)链接,常用于软件安装时建软链接(类似快捷方式)到PATH;
语法:ln [-s] 源文件 目标文件
ln -s /opt/a.txt /opt/git/ :对文件创建软链接(快捷方式不改名还是a.txt)
ln -s /opt/a.txt /opt/git/b :(快捷方式改名为b)(下面的一样可以改名)
ln -s /opt/mulu /opt/git/ :对目录创建软链接
ln /opt/a.txt /opt/git/ :对文件创建硬链接
chmod [-R] 777文件或目录 :设置权限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)
注: r(read)对应4,w(write)对应2,x(execute)执行对应1;
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改)
chmod [{ugoa}{+-=}{rwx}][文件或目录] :如chmod u-w,g+x,o=r test.txt为user(拥有者)去掉写权限,group(所属组)加上执行权限,other(其他人)权限等于只读;
chown [-R] admin:root /opt/ :变更文件及目录的拥有者和所属组(-R递归处理所有文件和文件夹,admin为拥有者,root为所属者)
locate:原理是updatedb会把文件系统中的信息存放到数据库databases中(但一般一天才执行一次,所以locate找不到新创建的文件,需要先手动执行updatedb,再执行locate),locate从数据库中读数据;
find:在目录结构中搜索文件,并执行指定的操作
语法:find pathname -options [-print -exec ...]
pathname :为 find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录(find查找范围为目标目录及其子目录所有文件及目录);
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为‘command‘ { } ;,注意{ }和;之间的空格;
-print: find命令将匹配的文件输出到标准输出;
单纯tar仅为打包(多个文件包成一个大文件),加上参数-j(bzip2格式.bz2)、-z(gzip格式.gz)可以备份、压缩(-c)、解压(-x),备份一般比压缩多加参数-p(保留原本文件的权限与属性),-C可以指定解压到特定目录;bzip2、gzip只能对单一文件压缩;
- 尽量用yum源(apt-get)安装,不行就rpm、deb包安装,能不手动编译的就不要手动编译;
- dpkg只能安装已经下载到本地机器上的deb包. apt-get能在线下载并安装deb包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是dpkg工具所不具备的;
- rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的;
- yum、rpm安装文件分布在/usr的bin、lib、share不同目录,不用配置PATH,直接用命令,但可用命令卸载更新;
- 手动编译软件,默认位置为/usr/local下不同子目录下,不用配置PATH直接用命令(手动指定安装路径需要加PATH),使得软件更新和删除变得很麻烦。编译安装的软件没有卸载命令,卸载就是把所有这个软件的文件删除。
在线下载并安装rpm包,适用于CentOS、Fedora、RedHat及类似系统
yum中没有时用,适用于CentOS、Fedora、RedHat及类似系统;
安装deb包,类似yum安装,适用于Debian, Ubuntu 以及类似系统;
适用于Debian, Ubuntu 以及类似系统;
大多数非开源的商业软件都采取这种办法;
二进制(Binaries)包如apache-jmeter-3.3.tgz,下载复制解压到/opt,然后然后将该软件的 bin 目录加入到 PATH 中即可(vim /etc/profile export PATH=$PATH:/opt/apache-jmeter-3.3/bin);
如python:系统的源中不可能包含该软件的所有模块; 系统的源中该软件的模块的更新要远远滞后于最新版本;手动安装python,并用Python 自带的 pip 安装模块(类似yum);
源代码包(一般有install文件)如hello-2.2.tar.bz2,下载复制到/opt;
原文:https://www.cnblogs.com/XtsLife/p/11450938.html