• linux 常用命令


    linux 常用命令
    awk					awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。
    					Linux三剑客:awk,grep,sed
    blkid				        主要用来对系统的块设备所使用的文件系统类型、LABEL、UUID等信息进行查询
    cat /etc/group	                  	显示所有用户组
    cat /etc/passwd            		显示所有用户
    createrepo	            		自建yum本地仓库
    cp
    	-R 				递归处理,包括子目录和所有文件
    curl			            	是一个利用URL规则在命令行下工作的文件传输工具
    	-L				curl直接跳转到新的网址
    	-i				可以显示http response 的头信息,连同网页代码
    	-I				只显示http response的头信息
    	-X				curl默认的HTTP 动词是GET,使用-X参数可以支持其他动词
    date
    	-s "时间"	            	修改系统时间
    df 					用来检查linux服务器的文件系统的磁盘空间占用情况
    	-h				使用方便阅读方式显示
    		--max-depth=0      	显示当前目录的容量
    	-T				只显示选定文件系统的磁盘信息
    du -h --max-depth=0                     查看当前目录使用的总空间大小
    	-sh				查看当前目录总的使用大小
    echo
    	> 				覆盖文本
    	>>				追加文本
    fdisk -l 	            		查看硬盘列表
    file 文件名		                查看文件编码格式
    find	               			查找文件
    flock 				        文件锁
    fuser			            	用于报告进程使用的文件和网络套接字
    fuser 			            	可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、或者网络端口,并给出程序进程的详细信息.
    getconf			            	获取系统信息
    getopts			            	getopts是linux系统中的一个内置变量,一般用在循环中。每当执行循环是,getopts都会检查下一个命令选项
    grep	                            	全面搜索正则表达式,文本搜索工具
    	-A				显示匹配后和它后面的n行
    	-B				显示匹配行和它前面的n行
    	-C				匹配行和它前后各n行
    	-o				只输出匹配的选项
    	-r '查找内容' 文件目录           查找包含指定内容的文件 				
    iostat			            	展示操作系统的io信息
    	用法: iostat [ 选项 ] [ <时间间隔> [ <次数> ]]
    	-d				单独输出Device结果,不包括cpu结果
    	-x				输出更详细的io设备统计信息
    last  		            		查看用户登录情况
    	reboot	            		查看所有重启日志信息
    ls
    	-l				以详细格式列表
    	-d				仅列出目录
    lsmod | grep nbd                   	显示内核加载的模块
    ll -rt 		            		按文件修改时间排序显示
    	-r				逆序排序
    journalctl	            		可以查看系统内核和应用的日志
    nohup 			            	用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行
    	nohup command > myout.file 2>&1 &  	退出终端不影响命令的运行,并且错误输出到终端,标准输出重定向到指定文件
    mkfs			                创建文件系统(计格式化为某文件系统)
    	mkfs.ext4 某分区             	将某分区格式化为ext4文件系统
    modprobe nbd	                  	加载到内核模块
    more		            		命令类似cat,不过会以分页的形式进行展示
    mount device dir	                挂载(将待挂载的设备挂载在挂载点上)
    	-a 				加载符合要求的所有文件系统,若不加其他参数,将加载/etc/fstab文件中列出的所有文件系统
    					(/etc/fstab文件:列出了引导时需要安装的文件系统的类型、挂载点及可选参数)			
    netstat 
    	-ntlp		            	列出所有端口
    partprobe			        不重启服务器的情况下分区 ,通知系统分区表的变化
    					使用fdisk工具只是将分区信息写到磁盘,如果需要mkfs磁盘分区则需要重启系统,
    					而使用partprobe则可以使kernel重新读取分区 信息,从而避免重启系统。
    parted 某磁盘		                对某磁盘进行分区操作(parted只能针对gpt格式的磁盘进行操作)
    	mklabel 	            	将磁盘格式转换为gpt的格式(gpt 磁盘格式)
    	p 				查看分区列表
    	mkpart 
    	quit		            	退出
    	rm 				删除分区列表
    passwd 用户名		                修改用户名密码
    ps 
    	-H    			        显示树状结构,表示程序间的相互关系
    	-t				指定终端机编号,并列出属于该终端机的程序的状况
    realpath			        获取指定目录或文件的绝对路径;包括软连接指向目标文件的绝对路径
    route	-n			        查看网关/路由
    rpm					软件包管理系统,安装、升级、删除、查询、验证软件包
    	-i				安装新的软件包
    	-e				删除一个软件包,使用软件名,不是软件包的全称
    	-v				查看安装过程的各种信息
    	-V				验证软件包
    	-h				安装过程中显示进度条
    	-F				更新软件包,不存在则不安装
    	-U				升级软件包,不存在就安装
    	rpm -qa | grep 包名		搜索指定rpm包是否安装
    	
    rpmbuild	            		RPM软件包的管理工具,可用于构建二进制和源代码软件包
    scp
    	-P	port          		大写的P, port是指定数据传输用到的端口号
    	-p				保留原文件的修改时间,访问时间和访问权限。
    sed					主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
    	-i				直接修改读取的文件内容,而不是输出到终端
    		sed -i 's/原字符串/新字符串/g' ab.txt	# 对每行匹配到的第一个字符串进行替换
    shift 		            		参数左移
    sgdisk 		            		创建分区
    	[-n|--new=partnum:start:end] 分区编号:开始位置:结束位置,应该就是确定分区的大小
    	[-c|--change-name=partnum:name] 分区编号:分区名
    strace			            	strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器
    					跟踪一个程序整个生命周期里所有的系统调用,并把调用参数和返回值以文本的方式输出 
    su 和su -的区别在于,前者没有切换用户的shell环境,
    systemctl 		            	系统管理守护进程、工具和库的集合	
    	systemctl --failed            	列出启动失败的服务
    tail			            	显示文件结尾
    	-f				可以动态显示该 log 文件的动态更新
    tar 			            	压缩文件		
    	举例: tar zcf uniportal1121.tar uniportal/ 前者是压缩包名,后者是待压缩的文件夹
    	c				创建文档
    	f				filename 要操作的文件名
    	x 				提取文档
    	z				用于gzip格式压缩
    tcpdump			            	linux  的一种抓包工具
    tee					用于读取标准输入的数据,并将其内容输出成文件。
    test 		            		判断命令
    touch 		            		更新对文件的访问和修改时间,且可以用来创建空文件
    tr					替换或删除字符
    trap		            		用于在接收指定信号后将要采取的动作,常用于脚本被中断时完成清理工作
    tty					显示当前终端
    umask			            	可以指定当前用户在新建文件和目录时的默认权限。umask可以查看当前用户的umask值
    umount			            	卸载文件系统
    	-f 				强制卸载
    uname			            	用于显示当前系统名称
    userdel -r 用户名                  	删除用户
    wc					统计字节数、字数和行数,并输出
    	-l				统计行号
    who					当前在本地系统上的所有用户的信息
    wipefs 			                擦除磁盘
    yum					基于rpm包管理,自动下载安装包、解决依赖,一次安装所有依赖包
    	list
    	search	packagename
    	install -y packagename
    			--downloadonly 只下载
    			--downloaddir  下载到指定目录下
    	makecache	            	把服务器上的报信息下载到本地缓存起来,以便安装时提高搜索速度
    	remove packagename
    	upgrade 软件 	更新指定软件
    ;					命令1 ; 命令2	多条命令顺序执行,命令之间没有任何逻辑关系
    &&					命令1 && 命令2	前者正常执行才执行后者
    ||					命令1 || 命令2	前者正常执行后者不执行,前者不能正常执行后者执行
    
    linux 特殊变量
    $#					传给脚本的参数个数
    $0					脚本名称
    $1					传递给脚本的第一个参数
    -gt					大于
    -eq					等于
    -lt					小于
    ${file##*.}      			删掉最后一个 . 及其左边的字符串:file=/dir1/dir2/dir3/my.file.txt,得到的是txt
    
    linux 配置文件
    /etc/resolv.conf文件主要有四个关键字	配置dns
    	(1) nameserver              	定义DNS服务器的IP地址
    	(2) domain                  	定义本地域名
    	(3) search     	            	定义域名的搜索列表
    	(4) sortlist                	对返回的域名进行排序
    /etc/sysconfig/network-scripts/ifcfg-eth0
    	(1) IPADDR
    	(2) NETMASK
    	(3) GATEWAY
    	(4) ONBOOT 			系统启动时是否激活网卡
    	(5) BOOTPROTO	            	static(静态ip)/dcph(动态ip)
    /etc/ssh/sshd_config            	openssh的配置文件
    	PermitRootLogin no      	用于设置root能不能用ssh登录
    	Port 22				设置sshd监听端口号
    	
    cat /etc/*release	            	查看linux版本
    
    linux 日志

    常见的日志文件:
    /var/log/cron crontab调度相关信息
    /var/log/dmesg 记录系统在开机时内核检测过程中所显示的各项信息
    /var/log/lastlog 记录系统所有账户最近一次登录系统的相关信息
    /var/log/messages 包括整体系统信息,其中也包含系统启动期间的日志。
    此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
    /var/log/secure 登录需要输入账号密码的软件时,记录相应的登录信息
    /var/log/wtmp,/var/log/faillog 正确登录系统者的账户信息与错误登录时所使用的账户信息
    /var/log/httpd/,/var/log/news/,/var/log/samba/* 记录网络服务相关信息

    syslogd服务来统一管理日志文件;主要是登录系统与网络等服务的信息
    klogd是记录内核信息的日志文件服务;主要登录内核产生的各项信息
    logrotate(日志文件轮替)——主要记录日志文件的轮替工作
    
    Shell 语句中-a至-z的含义
    [ -x FILE ] 如果 FILE 存在且是可执行的则为真。
    [ -z STRING ] “STRING” 的长度为零则为真。
    && || ; 			一行实现多条命令,三者分别是前一个成功才能执行后面的命令;前一个失败才能执行后面的命令;前一个无论是否失败都执行后一个
    
    # 表示行注释
    : << ! (块注释内容)!
    
    for 循环:
    	for a in{1..10}
    	do
    		xxxx
    	done
    
    linux目录结构
    /bin/						保存经常使用的命令
    /boot/						主要保存启动系统时的核心文件
    /etc/						系统管理所需的配置文件
    	yum.conf				yum的配置方式之一,另一种是yum.repos.d/下新建.repo文件
    	yum/
    	yum.repos.d/
    	
    /lib/						主要是系统基本的动态链接库
    /usr/						放置用户的应用程序
    /var/						放置不断扩充的文件,包括日志文件
    	log/					常见的日志文件
    		messages			包括整体系统信息,其中也包含系统启动期间的日志。
    							此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中
    		secure				系统安全日志,主要记录安全相关的信息,记录最多的是用户登录服务器的信息
    		
    		
    /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,其中/bin和/usr/bin给普通用户使用,另外两个主要给root用户
    
    linux 定时任务
    crontab -l 表示列出所有的定时任务
    crontab -r 表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除,执行crontab -l后会提示用户:“no crontab for admin”
    
    crontab -e 添加定时任务
    */1 * * * * /www/wwwroot/date.sh > /dev/null 2>&1
    
    vim 常用快捷方式
    全选(高亮显示):按esc后,然后ggvG或者ggVG
    全部复制:按esc后,然后ggyG
    全部删除:按esc后,然后dG
    
    u   撤销上一步的操作
    Ctrl+r 恢复上一步被撤销的操作
    
    添加块注释
    	(1) 按Ctrl + v 进入行模式
    	(2) 选中所需要注释的行
    	(3) Ctrl + i 进去插入模式,添加#或者// 等注释符号
    	(4) 连续两次Esc
    取消注释
    	(1) 按Ctrl + v 进入行模式
    	(2) 选中所需要注释的行
    	(3) 按d 删除
  • 相关阅读:
    MySQL 连接的使用:语法及案例剖析、INNER JOIN、LEFT JOIN、RIGHT JOIN
    MySQL GROUP BY 分组语句:语法及案例剖析、使用 WITH ROLLUP
    MySQL 排序:语法及案例剖析、在命令提示符中使用 ORDER BY 子句
    MySQL UNION 操作符:语法及案例剖析
    MySQL LIKE 子句:语法及案例剖析、在命令提示符中使用 LIKE 子句
    maven仓库
    maven安装配置
    Jedis
    Redis下载安装以及String类型
    Redis介绍
  • 原文地址:https://www.cnblogs.com/fyusac/p/14210056.html
Copyright © 2020-2023  润新知