linux学习笔记-基础部分

创建目录 mkdir
创建文件 touch
删除文件 rm   删除目录 rm -r  -f 表示强制删除   常用rm -rf


cp 复制  复制目录要 -i

mv 移动目录  重命名。   rename 重命名。

文件查看命令: cat tac  less more head tail
这几个的快捷键用的比较少。我主要用的是 回车键 空格键 还有方向键 查看。more  空格键分屏看  回车键 一行一行看less  B 上翻  f 下翻    空格  下翻  回车一 行 一行
/ 支持查看时搜索。 n向下翻 N向上

文件的目录属性。d目录 - 文件或者执行程序  l 链接文件 b块设备 (例如硬盘) c 串设备。鼠标 键盘类

chmod 更改文件 目录权限
chown 更改文件或目录的 所有者  或所属组  chown  user:group  xxx
目录默认权限 755 文件 默认644  usmask 022  

chattr 隐藏属性。 chattr +a  文件不能修改  删除 只能追加   chattr +a file   chattr -a file
                          chattr +i  不能修改 删除。  chattr +i file chattr -i file
lsattr 能查看隐藏权限。 lsattr file

suid  sgid stick  这三个权限有点难。 只记得suid 用于能指向的二进制文件。 例如 passwd 能临时拥有root的权限  

查找命令 : which whereis   能查找命令的绝对路径
find    -name  -size  -user   -exec -xargs    -atime ctime mine 
例 find / -user zhangyong -size +100M -exec rm -rf {} \;
    find / -mtime +30 -type d -exec mv -r {} /tmp \;
     find /root/ -cmin -30 |xargs ls -l   

atime 执行过的 或者访问过的时间

mtime 创建时间
ctime 修改过属性 例如 属主 权限时间。  atime 天数单位   amin 小时单位
stat 能看查看文件的三个属性。 access  modify  change 
链接文件: 软链接 ln -s  最好加绝对路径。  硬链接 不用 -s  。 硬链接不能跨分区。只能用在文件,indoe         号 一样。硬链接两个文件能同时更新。

用户名文件: /etc/passwd 
密码文件:/etc/shadow
增加用户: useradd  -g 指定用户的组      -M 不创建用户家目录  -d 自定义家目录  -G加入某附属组
删除用户: userdel  -r  删除用户的家目录

修改用户属性。 usermod  -g 组属性   -u  uid 
让某个用户加入某个组   gpasswd  -a      -d 从某个组 删除用户

passwd 修改用户密码   passwd --stdin  明文修改密码   可用于shell脚本里面。

su切换用户。  su -  切换用户的时候 切换用户环境。

sudo  配置文件。直接用visudo 修改。 sudo -l  列出当前用户的sudo权限。

df 查看已挂载的磁盘信息。

du 查看文件的使用情况。

fdisk -l 查看磁盘信息。  格式化磁盘。mkfs.ext4   
mount 挂载磁盘   umount 卸载磁盘。

/etc/fstab  分区表信息。   blkid  查看磁盘的uuid


vim  三种模式。 一般模式 光标移动。h左 j下 k上  l右                           yy复制 dd剪贴删除  pp 粘贴     v可视化选择。x删除 y复制 d剪切删除
                           x向后删除一个字符  X向前删除一个字符   dw 删除一个单词
i 插入 a 在光标后插入 A 在行尾插入
命令行模式 / name  ?name   搜索n向下  N向上翻  
                  :/ 1,10s/root/ROOT/   替换 每行第一个toot    加上g  全局替换。   加上 -c  有选择替换
set nu 显示行号。 set nonu 不显示行号。


gzip 压缩。 gzip finename     gunzip 解压缩      gunzip filename.gz   
bzip2 压缩    bzip2 filename      bunzip2             bunzip2 ffilename.bz2
xz 压缩       xz filename              unxz                unxz filename.xz

tar -cvf  打包   tar -xvf 解包    -c  制定路径
tar -zcvf  打包压缩    tar -zxvf 解包   gzip    -tf 查看包内容
tar -jcvf                     tar -jxvf         bzip2            
tar -Jcvf                    tar -Jxvf            xz

shell编程入门: 1.特性   
!!表示上一条命令。  !n 表示执行第n条命令     !pwd   表示执行最近一条以pw开头的命
alias 命令别名。unalias 取消别名。 当前用户永久生效。vi  ~/.bashrc    全局。vi /etc/bashrc
重定向   : 正确重定向  >   错误重定向 2>   追加  >>     2>>      &> 正确 错误同时输出。   &>> 正确错误 同时追加  
                命令 >>文件1  2>>文件2    把正确的追加到文件1   把错误的追加到文件2

变量
echo $PATH    env  列出系统预设的环境变量
                       set 列出系统预设 和自定义的变量
       变量配置文件:全局 /etc/profile    在末行加入  exprot  myname=zhangyong  然后运行 source /etc/profile
                                当前用户:  ~/.bashrc 




多命令执行顺序。 ;分号。 多命令顺序执行  无逻辑关系。
                              &&   命令1&&命令2   逻辑与   1正确执行  2 执行      
                                                                              1不正确执行。 2不执行
                               ||    逻辑或    命令1 || 命令2     1 执行   2不执行
                                                                                 1不执行   2执行               

通配符   ?表示一个任意字符
               * 0个或任意多个字符
                [] 匹配括号任意一个字符  [abc]  可以是a  可以是c  可以是b
                [-]  一段范围。    [^ ]   逻辑非


cat命令-d 后面制定分隔符 
-f 指定第几段
-c 后面


sort 排序  -t 分隔符   -n 使用纯数字排列   -r反向排序 
uniq 去重复  常用选项 -c 统计重复的行 把行数写在前面。


tr 替换字符 
-d 删除某个字符  -d后面跟要删除的字符
-s  把重复的字符去掉。


split  切割文档 
-b 按大小分割 单位byte
-l  按行数来分割文档




grep 过滤
grep -n ‘root’ 过滤带有root 的行
grep -n -v 'root'  过滤不带root的行。  -v 取反
grep '[0-9]'   过滤带有数字的行
grep -v '[0-9]' 过滤不带数字的行
grep -v '^#'   过滤以#号开头的行
grep -v '^$'  过滤所有空行
grep '^[a-Z]' 过滤字母开头的行
grep '^[^0-9]'  过滤非数字开头的行
grep 'r.t'   grep 'r*t'   过滤一个 或多个字符




sed 命令
sed -n '1.10'p 打印1到10行
sed -n '/root/'p    打印含有root 的行
-e 能实现多个任务
-i 能直接修改文件的内容
sed '/root/d' 删除含有root 的行   d 删除动作
sed '1,10s/root/ROOT/g'   1到10行的root替换成ROOT
sed 's/[0-9]//g'     删除所有的数字
sed 's/[^0-9]//g'   删除所有的非数字



awk 命令
awk -F : '{print $1}'
-F 指定分割符号   不用 -F 表示用空格做分隔符
awk  '/oo/'  test.txt  匹配oo的行
awk -F : '$1~/oo/' 1.txt   针对第一个$1 匹配。
条件操作符
==  >  < !=  >=   <=  
awk -F : '$3>="500"'   第三段大于等于500的行
awk -F : '$7!="/sbin/nologin"'  1.txt   第7段不等于/sbin/nologin 的行
NF 段数    NR 行数


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章