前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux学习--未整理命令

linux学习--未整理命令

作者头像
solate
发布2019-07-19 18:22:53
9360
发布2019-07-19 18:22:53
举报
pwd 显示当前目录的绝对路径

mkdir 建立目录
rmdir 删除空目录

echo $PATH 打印环境变量,同名可执行文件先找到的先执行
PATH="$PATH":/root 将root目录添加到PATH中,使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效 
2.#vi /etc/profile 在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格) 这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变 
3.#vi ~/.bash_profile 修改PATH行,把/etc/apache/bin添加进去 这种方法是针对用户起作用的

临时修改path : export PATH="/tmp:$PATH"
永久生效: 修改/etc/profile,source使得修改理解生效



cp -l 实体连接(hard link) -s 符号链接(symbolic link虚拟链接,快捷方式)
rm \rm -r /tmp/etc  指令前加反斜杠,可以忽略掉alias的指定选项
mv


basename 取得文档名     eg: basename /etc/sys/network  ---> network
dirname 取得目录名      eg: dirname /etc/sys/network  --> /etc/sys


cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页癿显示档案内容
less 不 more 类似,但是比 more 更好的是,他可以往前翻页!
head 叧看头几行   -n:n 为数字,前n行,
tail 叧看尾巳几行  -n:n 为数字,后n行。 -f 跟踪一个文件尾部的实时变化
od 以二迚制癿方式读取档案内容!


more/less:
  空格键 (space):代表向下翻一页;
  Enter :代表向下翻『一行』;
  /字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
  :f :立刻显示出文件名以及目前显示的行数;
  q :代表立刻离开 more ,不再显示该档案内容。
  b 或 [ctrl]-b :代表往回翻页,不过这动作叧对档案有用,对管线无用。
  n :重复前一个搜寻 (不 / 或 ? 有关!) 
  N:反向的重复前一个搜寻 (不 / 或 ? 有关!)
  q:离开 less 这个程序;


touch 修改档案时间或建立新档




umask : 目前用户在建立档案或目录时候的权限默认值,
查阅的方式有两种,一种可以直接输入 umask ,就可以看到数字型态的权限设定分数, 一种则是加入 -S (Symbolic) 这个选项,就会以符号类型的方式来显示出权限了,
umask 的分数指的是该默认值需要减掉的权限!


档案的隐藏属性 :修改文档的属性不可修改,安全机制方面
chattr : 只能在ext2/ext3文件系统中使用,设置隐藏属性,eg: chattr +i test 不能删除
lsattr : 查看隐藏属性


档案特殊权限: SUID(二进制文档), SGID(二进制文档或目录), SBIT(目录)
权限显示s,t 等(非 r, w , x)


file :观察文件类型, 属于 ASCII 或者是 data 档案,或者是 binary , 其中有没有使用到动态函式库 (share library) 等等的信息



搜索
which : 寻找执行档, 因为 which 是根据用户所设定的 PATH 变量内的目录去搜寻可执行文件的.eg: which -a ls 输出所有找到的ls路径
whereis : [-bmsu] 档案或目录名,搜索特定档案,whereis 不 locate 是利用数据库杢搜寻数据,所以相当快速,并没有实际的搜寻硬盘, 比较省时间
locate : [-ir] keyword, 后面输入档案癿部分名称后,就能够得到结果,寻找的数据是由『已建立的数据库 /var/lib/mlocate/』里面的数据所搜寻到的,而数据库的建立默讣是在每天执行一次 (每个 distribution 都不同,CentOS 5.x 是每天更新数据库一次!更新 locate 数据库直接输入 updatedb 就可以了



ln 实体链接和符号链接



dumpe2fs [-bh] 装置文件名,查看文件系统信息
df:目前挂载的装置,列出文件系统的整体磁盘使用量;
du:评估文件系统的磁盘使用量(帯用在推估目彔所占容量)

fdisk 磁盘分区,fdisk 没有办法处理大于 2TB 以上的磁盘分区槽,parted 这个指令可以处理
partprobe <==强制让核心重新捉一次 partition table,不用重启就能重新读取分割表
mkfs 格式化磁盘
mke2fs 设定格式化的指令,
磁盘检验 
fsck:检查文件系统是否出错。一般系统出现非常重要的问题的时候才使用。刚格式化以后可以使用检测,fsck 会损坏filesystem 所以检查时partition务必不可挂载在系统上,既卸载状态。其实是呼叫e2fsck软件
badblocks:用来检查硬盘或软盘扇区有没有坏轨。不太使用。

mount: 挂载文件系统,可配置项非常多,重新挂载mount -o remount,rw,auto / ,当进入单人维护模式,根目录会被系统挂载为只读,这是指令很重要
mount --bind 挂载某个目录到其他目录,用于不能软连接等情况。
unmount 将装置档案卸载。

mknod:磁盘参数修订,主要装置代码(Major), 次要装置代码(minor) 装置核心数据由这两个数值来决定。
e2label : 设定文件系统标头
tune2fs : 转换ext2到ext3 ,等。
hdparm : IDE接口 进阶参数设置。基本用于测试性能。

开机挂载 /etc/fstab 及 /etc/mtab 
swap 建立交换空间
dd 新增文档

parted 分割2T以上的分隔槽




压缩
*.Z :compress 程序压缩的档案;
*.gz : gzip 程序压缩的档案;
*.bz2 :bzip2 程序压缩的档案;
*.tar :tar 程序打包的数据,并没有压缩过;
*.tar.gz :tar 程序打包的档案,其中并且经过 gzip 的压缩
*.tar.bz2 : tar 程序打包癿档案,其中并且经过 bzip2 的压缩

常见解压缩命令:compress已经退出潮流了, gzip和bzip2都是对目录中的没个档案分别进行压缩,整体的话需要用tar打包
gzip : 可以解开compress,zip,gzip压缩的文档 
bzip2 : 仅能针对一个档案压缩与解压,配合tar使用,更好
tar :打包, --exclude="file" 排除那些文件不打包

zcat 则可以读取纯文本档被压缩后的压缩文件!


  压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称
  查 询:tar -jtv -f filename.tar.bz2
  解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录


dump :备份,制定等级,指定等级为 1 时,此时新备份的数据只会记录不第一次备份所有差异的档案而已,支持整个系统文件或者单一个别目录
但是有所限制,限制:
o 所有的备份数据都必项要在该目录 (本例为:/home/someone/) 底下;
o 且仅能使用 level 0 ,亦即仅支持完整备份而已;
o 不支持 -u 选顷,亦即无法建立 /etc/dumpdates 这个各别 level 备份癿时间记录文件;
restore :复原dump备份文件


mkisofs : 建立映像当文件(iso) 
cdrecord : 将印象文件刻录至光盘或DVD当中

dd : 新增文档,备份文件 dd if="input_file" of="output_file" bs="block_size" \ > count="number"  备份整个partition或整颗disk 


cpio :可以备份任何东西,但是不会主动去找档案来备份,需要配合find等
[root[[[[[[[[[[[[[[[[[[[[[@www](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater) ~]# cpio -ovcB > [file|device] <==备份 
[root[[[[[[[[[[[[[[[[[[[[[@www](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater) ~]# cpio -ivcdu < [file|device] <==还原 
[root[[[[[[[[[[[[[[[[[[[[[@www](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater)](http://my.oschina.net/licomernwater) ~]# cpio -ivct < [file|device] <==察看





ctrl + z 退出vim,有 .test.swp文件
kill -9 %1 仿真断线停止vim工作

sudo lsof -i :9000 查看9000端口被谁占用


=============================================================

Linux CentOS使用笔记

uname -m 查看当前系统版本
uname -a 可以查看到更详细的版本


yum grouplist 查看安装列表

启动或重启网卡
ifup eth0
/etc/init.d/network restart 
等价 service network restart 

关闭防火墙
/etc/init.d/iptables stop 
永久关闭防火墙
chkconfig iptables off


//打印
echo “hhh” > test.txt  // 清空后复制,覆盖
echo “hhh” >> test.txt  // 文件末尾追加内容,不清空

//特殊字符

> 重定向,会清除文件内所有以前的数据
>>  追加内容,文件末尾追加内容不会删除已有内容


//cat 追加内容, EOF成对出现,可以被任意成对内容替换

cat > ~/data/test.txt <<EOF
this is a test !
EOF 

//箭头的指向就是数据的流向
> 或 1> 
>> 或 1>> 
< 或 <0 输入重定向
<< 或 <<0 追加输入重定向


1. 标准输入 (stdin) : 代码为0, 使用< 或 << 数据流向从右向左
2. 正常输出 (stdout) : 代码为1, 使用> 或 >> 数据流向从左向右
3. 错误输出 (stderr) : 代码为2, 使用 2> 或 2>>


cp 拷贝 -a :相当于 pdr , -r 递归,用于复制目录; -p 保持属性不变
find 删除用法

find /path -type f -exec rm -f {} ; 删除指定文件

  • -type f:文件 d:目录
  • -exec 执行命令
  • {} 查找到的内容
  • ; bash特殊含义需要用 '' 转义 合起来为 ;

也可以用: find /path -type f | xargs rm -f

xargs :将前面查找到的内容在后面一个一个处理

find -type:按类型 -name:按名字 !取反 -a: and 两个条件同时成立 -o: or 两个条件有一个成立

//eg: find /path -type f ! -name="cc.txt" //查找在path下除了cc.txt的文件

// grep 用法 ,  例如取特定值
head -3 文件  取前三行,默认head取10行
grep "特定内容" 文件名  在文件中取特定内容
grep -v "特定内容" 文件名   -v 排除那一项  排除内容以外的内容取出来
-o:输出精确匹配 -i 不区分大小写 -E 过滤多个字符,同egrep eg : grep -E "3306|3309" /etc/services

cat 文件名 | grep -v "内容"  //在内容多的时候慢,需要装管道,比直接使用慢

sed -n '/特定内容/p' 文件名  查询特定内容 
sed '/特定内容/d' 文件名    除了特定内容以外的东西
// -n 取消sed默认输出,改变输出内容不改变文件内容 -i:改变文件内容 p:打印 d:删除

//sed 替换 重要
1. 改变输出: sed 's#要替换的内容#替换内容#g' 文件名   eg: sed 's#text#repace#g' test.txt
2. 连内容一起修改: sed -i's#要替换的内容#替换内容#g' 文件名  
-i:修改文件内容 s:查找全文并替换  g: 与s联合使用表示全局替换 #:分隔符,可以使用/@等替换
sed -r 's#(正则)#\1#g' 文件名  用正则匹配获取内容打印 eg:sed -r 's#(.*)#\1#g' test.txt


//安装软件
yum linux包管理器 yum install 包名  ==>底层也是调用rpm 只是会自动装依赖
软件包下载下来 rpm格式 : rpm -ivh 包名.rpm     i: 安装   v:显示输出  h:人类可读  
                      rpm 安装最大问题: 依赖问题不好解决,需要自己安装依赖
源代码   1)./configure  2)make   3)make install

yum update 在线上机器不能使用,除非已经知道安全漏洞



alias 设置别名, ‘=’ 右边必须是个命令,不能直接是字符串 如: alias pri='this is a test!'
  eg :alias pri='echo "this is a test!"'
unalias 取消别名

//命令行设置:临时生效,重启后无效,如需永久生效,
当前用户:修改用户目录下的 ~/.bashrc 文件
所有用户:修改/etc/.bashrc 或 /ect/profile文件
修改后使用source 命令生效配置。


取20到30行的数据
1. head -30 test.txt | tail -11   //效率不好
2. sed -n '20,30p' test.txt    //常用,如:‘30p’ 只取30行
3. awk '{if(NR<31 && NR>10) print $1"\n"}' test.txt  NR:表示行号


//awk 使用,一门语言,可以过滤,打印,删除,过滤内容最好是取 "列"

1.打印(默认使用空格分隔列):awk '{print $1}' 文件名  $n:第n列  print:打印命令
2.打印(使用":" 作为分隔符) awk -F ":" '{print $1}' 文件名   -F:使用特殊符号分割
3.打印自己添加分隔符 awk -F ":" '{print $1"="$2"="$3}' 文件名
4. $NF:最后一列 awk '{print $NF}' 文件名 


总结三剑客:
grep :擅长过滤
sed: 擅长取行
awk: 擅长取列

上下文控制:(取20到30的数据)
-A 除了显示匹配的一行之外,并显示该行之后的num行, grep 20 -A 10 test.txt
-B 除了显示匹配的一行之外,并显示该行之前的num行   grep 30 -B 10 test.txt
-C 除了显示匹配的一行之外,并显示该行前后各num行,  grep 25 -C 5 test.txt



echo {1..10} 从1打印到10    {开始..结束} 输出字符序列或数字序列  eg: mkdir stu{1..100} 创建100个目录

history 打印用户操作历史


快捷键
ctrl + a  : 回到命令的开头
ctrl + e  : 回到命令的结尾
ctrl + u  : 把光标以前的剪切
ctrl + k  : 把光标以后的切掉
ctrl + c  : 中断
ctrl + shift + c : ssh 客户端CRT 粘贴
ctrl + shift + v : ssh 客户端CRT 复制
ctrl + l 清屏
ctrl + d 退出 相当于 exit





ps -ef  查看进程
netstat -lntup 查看端口


cat /etc/redhat-release  //查看版本
uname -r 内核
uname -m 32位还是64位
hostname 主机名
whoami 查看当前用户

echo $PS1  //这个变量控制  [root@www ~]#  显示 


su 角色  角色切换
su - root  // -参数切换用户变量,替换为root的环境变量
从普通用户到root,需要输入root密码,从root切到普通用户不需要密码  


linux 基本优化

1. 关闭SELinux 功能,该功能阻断服务,使用其他安全方式替换

1)永久关闭
cat /etc/selinux/config
enforcing 开启
permissive 警告
disabled  关闭

将SELINUX=enforcing改为SELINUX=disabled 重启机器即可

2)临时关闭(不用重启机器),适用于不能重启工作机器的服务器:
getenforce 查看当前selinux开启状态

setenforce 0  设置SELinux 1:启用 0:关闭

2. 运行级别

tail /etc/inittab 查看运行级别
0:关机状态
1:单用户模式
2:多用户,但是没有NFS 模式
3:完全多用户,(工作一般选这个模式)
4:没使用
5:桌面模式
6:重启模式

runlevel 查看当前运行几倍
init 5 切换运行模式

3. 精简开机启动

需要启动的:
1. sshd  ssh服务
2. rsyslog 系统日志
3. network 网络
4. crond 定时任务
5. sysstat 系统性能及效率工具  iostat/mpstat/sar


chkconfig --list  查看所有服务在哪个级别上开关情况
chkconfig --list | grep 3:on
chkconfig --level 级别 名字 off 关闭服务  chkconfig --level 34 atd off  3,4 级别关闭
 

//防火墙
iptables -L -n 查看当前防火墙,默认打开
/etc/init.d/iptables stop  停止防火墙
/etc/init.d/iptables status   查看防火墙状态
              



at 参数 时间   定时计划任务,只是想要让特定任务运行一次
ps -ef |grep atd  查看计划任务是否开启
at 5pm + 3 days  三天后下午五点执行命令, 输入后再at> 后输入命令,ctrl+c 退出
atq 查看已经设置的计划任务
atrm 序号  删除已经设置的任务
at -c 编号 显示已经设置的任务内容
在/etc/at.allow (允许名单)和 /etc/deny (不允许名单)两个文件来设置at的使用权限,如果都不存在则只有root可以使用

cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
/sbin/service crond start//启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart  //重启服务
/sbin/service crond reload//重新载入配置
/sbin/service crond status//查看服务状态

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务



ssh 配置修改
/etc/ssh/sshd_config  修改这个文件
/etc/ssh/ssh_config linux 本身client不用管 

Port :端口
ListenAddress 监听地址,改为内网
PermitRootLogin no  禁止root权限登录
UseDNS no 禁止使用dns跳转,直接使用ip访问
GSSAPIAuthentication no 通过SSH登陆服务器时候会有些会很慢,将慢的设置为no

//对比
diff 文件 对比文件  
vimdiff  高亮显示对比文件


ulimit -n 查看默认文件描述符 (1024)
ulimit -SHn 65535  修改默认描述符数量,临时改
永久改: 
1)/etc/rc.local 中放入  ulimit -SHn 65535
2)echo '*  -  nofile     65535' >> /etc/security/limits.conf   nofile连接数,-软硬连接都包括



系统内核优化
vim /etc/sysctl.conf   
sysctl -p 生效


修改linux软件名和内存名
vim /etc/issue
vim /etc/issue.net 

锁定系统重要文件
chattr +i /etc/passwd  /etc/shadow /etc/group /etc/gshadow  /etc/inittab
解除 -i 


//grub引导菜单加密码, linux 引导器密码
/sbin/grub-md5-crypt  grub密码
password --md5  密码  放在


//禁止Linux系统被ping
net.ipv4.icmp_echo_ignore_all = 1 //修改内核参数,这样自己也ping不了
一般使用iptables




wget url  下载
wget -O url  指定改成什么名字
wget --spider 爬虫,模拟爬虫检查是否可以访问,不会下载只是检查
wget -T / --timeout = seconds  超时时间
wget -r / --tries=2 指定重试的次数
wget -q / --quiet 安静的下载,关闭输出
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • find 删除用法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档