常用命令
关于帮助
关于查找
压缩与解压
关机与重启
配置
Other
PS:
常用命令
ls:list,所在路径:/bin/ls,显示目录下所有内容,“ll"等同于"ls -l”
man + [命令],可以显示命令的详细用法
cd 是切换所在目录的命令,change directory,切换所在目录。所在路径:Shell 内置命令
cd 命令的特殊符号:cd+~:切换到用户的家目录,’-‘代表上次所在目录,’.‘代表当前目录,’…'代表上级目录
mkdir 是创建目录的命令,make directories,/bin/mkdir,创建空目录。格式:mkdir [选项]目录名
建立一系列的新目录,则需要加入"-p"选项,递归建立才可以:mkdir -p lm/me/ab/c
rmdir 删除目录。remove empty directories。但 rmdir
命令的作用十分有限,因为只能刪除空目录,所以一旦目录中有内容,就会报错。
touch 如果文件不存在,则会建立空文件;如果文件已经存在,则会修改文件的时间戳(访问时间、数据修改时间、状态修改时间都会改变)。
stat 是査看文件详细信息的命令,而且可以看到文件的这三个时间(访问时间、数据修改时间、状态修改时间)
cat 命令用于査看文件内容,不论文件内容有多少,都会一次性显示。
more 分屏显示文
head 是用来显示文件开头的命令: head -n 20 a.cfg 显示文件前20行内容
tail 显示文件结尾的内容:tail -n 20 a.cfg 显示文件结尾20行内容
ln:make links between files;在文件之间建立链接(硬链接与软链接),硬链接可以理解为使连个文件的节点地址相同,软链接可以当作 Windows的快捷方式来对待
rm:可以删除文件,也可以删除目录
cp: 复制文件和目录 copy files and directories;用法: cp [选项] 源文件 目标文件
mv:剪切。移动文件或改名。move(rename)files。mv 【选项】 源文件 目标文件 ps:注意是文件不是目录
chmod:修改权限。 change file mode bits.命令格式:chmod [ugoa] [[±=] [perms]]
例:chmod g+w,o+w afa
chown 是修改文件和目录的所有者和所属组的命令 change file owner and group
例:[root@localhost ~]# chown user:user a #
":“之前是文件的所有者,之后是所属组。这里的”:“也可以使用”."代替
chgrp 是修改文件和目录的所属组的命令 change group ownership 例:[root@localhost ~]#
chgrp user te #修改te文件的所属组为user用户组
umask 默认权限是 Linux 权限的一种,主要用于让 Linux 中的新建文件和目录拥有默认权限。
对文件来讲,新建文件的默认最大权限是666,没有执行(x)权限。这是因为执行权限对文件来讲比较危险,不能在新建文件的时候默认赋予,而必须通过用户手工赋予。
对目录来讲,新建目录的默认最大权限是777。这是因为对目录而言,执行(x)权限仅仅代表进入目录,所以即使建立新文件时直接默认赋予,也没有什么危险。
例:[root@localhost ~]# umask 002
关于帮助
main 显示联机帮助手册。format and display the on-line manual pages。
info 命令也可以获取命令的帮助。更详细。info 命令的帮助信息是一套完整的资料。
help 帮助文档。输出的帮助信息基本上是 man 命令的信息简要版。
关于查找
whereis:査找二进制命令、源文件和帮助文档的命令。locate the binary, source, and manual page files for a command。
which 也是搜索系统命令的命令。和 whereis 命令的区别在于,whereis命令可以在查找到二进制命令的同时,查找到帮助文档的位置;而 which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。shows the full path of(shell)commands。列出命令的所在路径.
locate :按照文件名搜索文件。 find files by name;locate 命令的局限也很明显,它只能按照文件名来搜索文件
find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大 小、时间、inode
号等来搜索文件。search for files in a directory hierarchy. 功能:在目录中查找文件
压缩与解压
zip: 压缩文件或目录 package and compress(archive) files
upzip:列表、测试和提取压缩文件中的文件。list, test and extract compressed files in a
ZIP archive
gzip:压缩文件或目录。compress or expand files
“gz”格式是Linux中最常用的压缩格式,使用gzip命令进行压缩
gunzip:解压缩文件或目录。compress or expand files
如果要解压缩".gz"格式,那么使用"gzip-d压缩包"和"gunzip 压缩包"命令都可以。
ps:如果我们压缩的是一个纯文本文件,则可以直接使用 zcat 命令在不解压缩的情况下査看这个文本文件中的内容。
bzip2:.bz格式的压缩命令。".bz2"格式是 Linux的另一种压缩格式,从理论上来讲,".bz2"格式的算法更先进、压缩比更好;而 ".gz"格式相对来讲的时间更快。 a block-sorting file compressor
bunzip:.bz2格式的解压缩命令 a block-sorting file compressor
tar:打包与解压包命令。“.tar”格式的打包和解打包都使用tar命令
关机与重启
sync:flush file system buffers.
刷新文件系统缓冲区。作用:把内存中的数据强制向硬盘中保存。此命令在常规关机的命令中其实会自动执行。
shutdown: bring the system down.关机和重启
reboot:重启
halt:关机
poweroff:关机
init:可用于关机和重启。修改Linux运行级别的命令
配置
setup:系统配置工具。A test mode system configuration tool.
ifconfig:configure a network interface。 配置网络接口
ping : seed ICMP ECHO_REQUEST to network hosts.向网络主机发送ICMP请求
netstat :网络状态参查看命令。Print network connections, routing tables,
interface statistics, masquerade connections, and multicast
memberships 输出网络连接、路由 表、接口统计、伪装连接和组播成员。
Other
write :向其他用户发送信息。send a message to another user
mail :发送和接收电子邮件.send and receive Internet mail.
PS:
Linux 中的每个文件都有三个时间,分别是访问时间(Access Time)、数据修改时间(Modify Time)和状态修改时间(Change Time)。这三个时间可以通过 stat 命令来进行査看。在Linux中,文件没有创建时间。
————————————————
版权声明:本文为CSDN博主「methun」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ethunsex/article/details/88833367
授之以渔:了解命令学习方法、用途:不再死记硬背,拒绝漫无目的;
准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴;
实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论;
条理清晰:分类归纳,快速找到想要的命令,拒绝天马行空;
总结性强:只列常用语法,易错情况强调,拒绝照搬照套。
linux主要特征 :一切且文件(目录、硬盘等都是文件);硬件都在/dev 目录,如硬盘、U盘为/dev/sd[a-d]; /dev/sr0(/dev/cdrom)是光驱的设备名(df命令查看),为设备文件,代表的是光驱本身,得把这个设备挂载到目录下(一般为/mnt)(文件系统的临时挂载点),才能对设备上的文件进行读写等操作;
不懂的命令 :man 命令(查用法、全称),只记得关键词,可用man -k 关键词;
Linux命令常用结构 :Command [-option] [argument]
Command:即是要运行的命令的本身,说白了就是一个软件(程序);
Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如df -hT);
Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;
在指令的第一部分按[tab]键一下为[命令补全],两下为所有命令选择,在非第一部分按[tab]键两下为[文件补全];
linux命令区分大小写;
cd:是Change Directory的缩写,用来切换工作目录,语法:cd [相对或绝对路径或特殊符号]
pwd :显示工作路径(Print Working Directory 的缩写)
ls:是List的缩写,用于列出目录下的文件,语法:
ls [选项][目录或文件名]
file 文件或目录 :显示文件的类型(目录、text、zip、shell脚本等)
touch a.txt :创建文件a.txt
rm:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉; 语法:rm (选项)(参数)(注:如果参数中含有目录,则必须加上-r选项);
find -inum 1842601 -exec rm -rf {} ; :删除乱码文件或目录(会提示找不到此文件或文件夹但其实已经删除了)(上传中文文件会乱码,rm命令删除不了)(先使用ls -i命令找到inode,即文件或目录前面的数字字符串,如1842601;)
mv:是move的缩写,可以用来剪切移动文件、目录或者将文件改名;
语法:mv 源文件 目标文件(改名)或目录(移动);
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 /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命令将匹配的文件输出到标准输出;
find . -name '*.log' -exec grep -i hello {} \; -print
:在当前目录及子目录下查出文件名后缀为.log的文件并且该文件内容包含了hello字样并打印,-exec 命令 {} \表示对查出文件操作,-i表示不区分大小写;find . -name '*.log'|grep hello
:在当前目录及子目录下查出文件名后缀为.log的文件并且文件名包含了hello字样(grep用来处理字符串);
grep -i 'HELLO' . -r -n :在当前目录及子目录下查找文件内容中包含hello的文件并显示文件路径(-i表示忽略大小写)
whereis java :查看安装的软件的所有的文件路径(whereis 只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令)
cat [-n] 文件名 :显示文件内容,连行号一起显示
less 文件名 :一页一页的显示文件内容(搜索翻页同man命令)
head [-n] 文件名 :显示文件头n行内容,n指定显示多少行
tail [-nf] 文件名:显示文件尾几行内容,n指定显示多少行,f用于实时追踪文件的所有更新,常用于查阅正在改变的日志文件(如tail -f -n 3 a.log 表示开始显示最后3行,并在文件更新时实时追加显示,没有-n默认10行)
less a.txt|grep git :显示关键词所在行,管道符”|”它只能处理由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后传递给下一个命令,作为标准的输入;
cat /etc/passwd |awk -F ':' '{print $1}' :显示第一列
ls -l>file :输出重定向>(改变原来系统命令的默认执行方式):ls -l命令结果输出到file文件中,若存在,则覆盖
cat file1 >>file :输出重定向之cat命令结果输出追加到file文件(>表示覆盖原文件内容,>>表示追加内容)
ls fileno 2>file : 2>表示重定向标准错误输出(文件不存在,报错信息保存至file文件);
cowsay
sed -i 's/old/new/g' a.txt :替换字符串;格式为sed 's/要替换的字符串/新的字符串/g' 修改的文件
vim 文件:编辑查看文件(同vi)
cat /etc/group |grep test :查看test用户详情:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
passwd [ludf] 用户名 :用户改自己密码,不需要输入用户名,选项-d:指定空口令,-l:禁用某用户,-u解禁某用户,-f:强迫用户下次登录时修改口令
groupmod -n 新组名 旧组名 :修改用户组名字
sudo 命令 :以root的身份执行命令(输入用户自己的密码,而su为输入要切换用户的密码,普通用户需设置/etc/sudoers才可用sudo)
df -h /var/log :(显示log所在分区(挂载点)、目录所在磁盘及可用的磁盘容量)
du -sm /var/log/* | sort -rn : 根据占用磁盘空间大小排序(MB)某目录下文件和目录大小
fdisk /dev/sdb :对硬盘sdb进行分区
umount /dev/sda1 :取消挂载(umount 装置文件名或挂载点)
单纯tar仅为打包(多个文件包成一个大文件),加上参数-j(bzip2格式.bz2)、-z(gzip格式.gz)可以备份、压缩(-c)、解压(-x),备份一般比压缩多加参数-p(保留原本文件的权限与属性),-C可以指定解压到特定目录;bzip2、gzip只能对单一文件压缩;
file 文件名 :查文件类型(可看是用哪一种方式压缩的)
tar -zcvf /opt/c.tar.gz ./a/ :压缩tar.gz(把当前目录下的a目录及目录下所有文件压缩为 /opt/目录下的c.tar.gz,这样tar -zxvf c.tar.gz解压出来带有目录a)
tar -jcvf c.tar.bz2 ./a/ :压缩tar.bz2(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.tar.gz2)
zip -r c.zip ./a/ :压缩zip(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.zip
bzip2 -d -k file1.bz2 : 解压一个叫做 'file1.bz2'的文件
gzip -d file1.gz : 解压缩一个叫做 'file1'的文件
- 尽量用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),使得软件更新和删除变得很麻烦。编译安装的软件没有卸载命令,卸载就是把所有这个软件的文件删除。
yum安装
在线下载并安装rpm包,适用于CentOS、Fedora、RedHat及类似系统
yum安装常用工具
rpm包手动下载安装
yum中没有时用,适用于CentOS、Fedora、RedHat及类似系统;
wget -P /opt https://网址 :下载到/opt目录
rpm -ql 软件名称 :查看rpm包安装路径(软件名称可通过rpm -qa|grep java)
apt方式安装
安装deb包,类似yum安装,适用于Debian, Ubuntu 以及类似系统;
aptitude install 软件 :安装软件(推荐这种方式安装)
apt-get clean :从下载的软件包中清理缓存
deb包安装
适用于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/caozy/p/9261224.html