学习笔记"/>
Linux系统命令学习笔记
前言
从大一上学期中期开始就开始自学Linux,现在把当时一些记下的笔记总结下,当然一些事没有留在笔记上的,前些日子不小心删掉了e盘的笔记,还好这里有存档,日后会围绕着这里进行完善的。
更新中
这些都是一些基础命令,就只学到系统用户那里,更为深入的还未学到,平时用的虚拟机进行学习。
- **关机:reboot
- CTRL+a:移动到行首
- CTRL+e:移动到行尾
- CTRL+n:向下
- CTRL+p:向上
- CTRL+b:前移
- CTRL+f:后移
- CTRL+d:在文档处理界面相当于exit,也可以直接结束终端
- CTRL+h:向前删除一个字符
- CTRL+d:向后删除一个字符\跳出终端
- CTRL+u:前删
- CTRL+k:后删
- CTRL+l或者clear:清屏
- CTRL+r:搜索历史记录命令
- CTRL+z:后台挂起
- CTRL+w:删掉前一个单词(以空格为准)
- CTRL+u:前删
- /word 在文档中向上查找某个关键字
- ?word 在文档中向下查找某个关键字N,向上进行下一个查询,n向下进行下一个查询q退出本次查看
- Tab接在一串命令之后,则是命令补全,在第二个命令之后时,则是文件补齐。
- echo $LANG 查看语言体系
- LANG=en_US修改为英语语系
- bc简易计算器 scale=2此命令可以设置计算器输出小数点后两位
- cal:日历
- cal 2019:2019年的日历
- cal 09 2019:2019年9月的日历
- echo:在屏幕上显示所输入的字符命令太长快到达行尾的时候就打个\然后确认,系统会自动识别并在下一行打个>,就可以继续输入命令echo ’ ’:如果不写的话,就会自动将空格打为一个,写就按原有的字符形式输出
- Echo >,>>与Windows重定向一样,后者是追加
- passwd:修改账户密码> 重定向Ls–help | more 管道,将一个程序的输出作为另外一个程序的输入最上层的命令叫根目录(root)用/表示绝对路径:从根目录,最顶层目录开始的路径相对路径:相对当前路径下的那个路径 如:./xiutao/test.cCat test.txtCat /home/teacher/test.txt
- Ln 显示行数
- Tac 从后往前显示
- More 一页页显示
- Less 可以前翻页
- Head 前几行
- Head - n 20显示前20行
- Tail 后几行
- Od 二进制读取
- Touch - d “2 day ago”
- filenameTouch - t 200257612 filename
- Umask -S 查看文件权限
- Umask 002 去掉x权限
- Lsattr 查看文件隐藏属性
- Chattr + i test.txt 添加i属性导致不能更该文件
- mkdir ~/games:创建一个空目录
- rmdir(rm) ~/games:移除该空目录
- Rm -r -f (-r删除文件夹一定的时候,f是强制删除,文件不存在也不会报错)
- Rm -rf * 删除全部
- Cp -r -v test test.txt test2.txt test1 复制文件,r是文件夹要用,v表示拷贝进度,然后文件Cp -r -v test.txt /home/teacher/xiutao ,将test.txt拷贝到相关路径之下
- mv -v test.txt /home/teacher/xiutao 剪切,显示拷贝进度。
- mv test.txt aaa.txtMkdir -p qiangqiang/chengcheng/jiyu 创建多级文件夹
- Find /home/teacher/share/ -name aaa.txt 查找文件,中间要有路径Grep world hello.c -n 在文件中找相关内容
- Ln test.txt test2.txt -s 创建快捷方式,如果没有s只会创建一个硬性文件,即相同文件
- Tar zcvf bk.tar.gz a.c b.txt xiutao test.txt 先压缩包名字,后几个要压缩的文件
- Tar zxvf bk.tar.gz 解压到当前目录
- Tar zxvf bk.tar.gz -C 目的路径 解压到目的路径,gzip格式的压缩包后缀名以.tar.gz结尾
- Tar jcvf bk.tar.gz a.c b.txt xiutao test.txt Tar jcvf bk.tar.bz2 解压到当前目录Tar jxvf bk.tar.bz2 -C 目的路径,bz2的格式压缩包后缀名为.tar.bz2
- Sudo apt-get install vim 安装
- vimSudo apt-get ctags 安装ctags配置vim
- Step1:将vim_configure 拷入当前用户的目录下
- Step2:打开终端,执行以下命令:Cd vim_configure./copy_con.sh
- Chomd +x 提升执行权限,x可执行程序
- Vi+n 文件名 打开存在的文件,并将光标置于第n行
- 一步到位:Gcc hello.c -o hello -o 输出 ./hello 运行程序分步运行Gcc -E hello.c -o hello.i 1、预处理Gcc -S hello.i -o hello.s 2、编译Gcc -c hello.s -o hello.o 3、汇编Gcc hello.o -o hello._elf 4、链接
- cd ~:回到家目录
- Cd …进入上一级目录及附目录
- Cd.:当前工作目录
- cd/:直接切换为根目录
- Cd - 回到刚才所在的路径
- cd /boot/grub:进入/boot/grub这个目录
- File /bin/ls:查看文件类型
- cp /etc/passwd /tmp:复制一个文件
- cp -r/etc/passwd /tmp:复制一个目录
- cp *.c /tmp:将所有.c文件都复制到tmp文件
- cat /home/mousebrother/cc.c 查看文件内容
- find -name /mousebrother/ 查找文件
- Shitf+pgdn:向下滚动13页
- Shitf+pgup:向上滚动13页
- Env 显示所有的环境变量
- Echo $hdsj 打印该变量的值
- Export hdsj 将该变量设置为全局变量
- Read -t -p “”hdsj跟input一个道理,可以限时
- Local -a 可以打印出所有语系变量
- declare hdsj将变量声明为不同类型,如数组等系统的7种运行级别
- 0 hait 关机
- 1Single usermode 单用户模式,只支持root账户,用于系统维护,禁止远程登陆
- 2Multiuser,without NFS 多用户模式,不支持网络文件系统的多用户模式
- 3Full Multiuser mode 完全多用户模式,有网络文件系统的多用户模式,无网络时等同于级别2
- 4 unused 系统未使用,用于保留,特殊模式
- 5 X11 图形界面,可以直接进入xwindows
- 6 Reboot ,运行不了就加一个sudo在前面,给与root权限重启运行级别的操作1
- 查看运行级别:runlevel(显示两个数字,显示上一个级别和本次的级别,如果不存在上一次级别就会显示一个N2,进入其他运行级别:int N(N的取值为0到6){int 1 单用户模式int 3 多用户模式int 5 登陆图像界面int 0 关机
- int 6 重启
- systemctl set-default:永久安设为什么级别
- systemctl get-default:查看级别
- df:查看磁盘情况
- 创建文本:vim text.txt
- 要更改模式按esc
- 保存要打:write进行保存,
- 退出按:+q。
- vim常见命令
- 编辑模式 vim刚启动的时候,一般处于指令模式,可以利用以下命令进入编辑模式。 ①插入模式(insert):i, I ②编辑模式(append):a , A ③只读模式(open): o , O ④替换模式(replace):r, R 注意:按【Esc】键退出编辑模式,回到一般模式中
- 一般模式下的快捷键 移动光标:h前移, j下移, k上移,l后移,G回首字符删除、复制与粘贴:x相当于【Del】,X,nx,dd,ndd,d1G,dG,d , d 0 , y y , n y y , y 1 G , y G , y 0 , y ,d0,yy,nyy,y1G,yG,y0,y ,d0,yy,nyy,y1G,yG,y0,y, p为将已复制的数据在光标下一行粘贴, P为将已复制的数据在光标上一行粘贴 u:复原前一个操作【Ctrl】+r:重做上一个操作 . :重复前一个操作 查找与替换:/word ?word n N :n1,n2s/word1/word2/g :1, s / w o r d 1 / w o r d 2 / g : 1 , s/word1/word2/g : 1, s/word1/word2/g:1,s/word1/word2/gc3 .
- 命令行模式下的按钮说明
- :w:w!强行
- :q:q!强行
- :wq保存后退出
- ZZ 存盘退出
- :w [filename] 另存为filename:r [filename]:n1,n2 w [filename]:! Command 例如:
- :! ls /home:set nu 设置行号
- :set nonu 取消行号:vim-On file1 file2垂直多窗口编辑:vim-on file1 file2水平多窗口编辑 Vim高级功能–块选择V:字符选择,会将光标经过的地方反向选择V:行选择,会将光标经过的行反向选择CTRL+v:区块选择,可以用长方形的方式选择资料y:将反白的地方复制起来d:将反白的地方删除掉P:将复制的内容粘贴Man/info 命令帮助信息查询Man 1 ls 查看第一页More/cat 作用一致Ls -a -l -h /Tree -L 层数 -rw-rw-r–. 1 mousebrother mousebrother 9 1月 20 16:28 test.txt用户的使用权限(u) 组用户(g)的使用权限 r(4)可读,w(2)可写,x(1)可执行文件,后面的是最后一次修改的时间,与文件名,(o)中间有一个其他人没有标出来,-无权限
- Chmod u+x test.txt 给用户添加可读性
- Chmod o+w test.txt 添加可写性
- Chmod 755 test.txt
- Chmod u=rwx,g=rwx,o=rwx, test.txt
- Useradd bd 添加新用户
- Chmod -R abc:abc test.txt Lo 本地地址Eth0 网卡,第二片就是eth1 ,本机IP地址Ifup eth0
- Runlevel 查看当前级别
- Wget 爬取网页信
- ∧在[]外面是行首的意思,$是行尾
- sed’2,5d’删除2到5行,参数是行数n,a是出现在后面,i是前面
- sed ‘s/要被替换的字符/新的字符串/g’
- %s字符串,%i数字,%f小数
- last -n 5 取出前5行
- awk '{print $1 “\t”$3} 打印第一第三个
- nf每一行的字段总数
- nr目前所处理的行数数据
- fs 目前的分隔符
- diff对比两个差不多的文件
- cmp利用字节来对比
- patch对比两个不同版本的文件,处理为补丁文件
- w或who,查询用户,write,直接给其他用户发送信息,如果不希望打扰其他用户则用mesg n,取消可以n换y,但是root用户照样可以,mesg可以查看当前状态设置,write root,可以看root的,两个用户如果不在线,可以用mail这种发送邮件的方式实现,mailbox会自动放置在var/spool/mail下面。输入mail可以直接查看当前邮箱内的所有邮件。
- pr打印时加标题和页码
- #!/bin/bash
- %y%m%d
- script子父进程 双线
- source单线
- $#后面接的参数个数
- $@代表$1,$2……
- $*中间个一个c(空格)
- shift可以移动变量
- if then
- fi结束循环
- $sdjk要加双引号才能是变量值
- netstat -tuln获取目前主机有启动的服务
- case in esac
- function相当于函数
- while,until循环 不定循环
- for循环是固定循环
- sh [-nvx]scripts.sh 测试运行
- uid用户标识符,0是root,1到499是系统账号,500到65535是可登录账号
- shell是用来与系统内核通信的,进行用户操作任务
- env读取login与non-login的变量
- mail邮件
- mail -s “file content ” 用户名 < ~/.bashrc
- pwck检查etc下的passwd这个账号配置文件内的信息
- echo “dmtsai:abcdrf” | chpasswd -m 更新密码
- root提权完毕就退出,可以用su后加个c的参数
- 命令要用双引号
- dmtsai
- su -l 切换用户
- visudo,在76行的位置,用户名,all=(all) all 让该用户也能使用sudo命令
- 纯mail账号
- pam应用程序编程接口,验证用的。
- 第一个字段:验证类型
- auth身份验证,account检测用户权限,session记录登录与注销,passwd密码
- 第二个字段:验证的控制标志
- required,成功与失败都会返回标志,中断运行。
- 使用quota进行配额,可以分为:
- 限制inode用量即可以新建的文件数量,block磁盘容量限制。低于hard高于soft,会给出警告,并开始倒计时(grace time)。
- 修改quota也是使用script脚本文件执行。
- 用df -h /home与mount | grep home查看文件系统是否支持。
- 关闭quotaoff
- 启动quota 参数 [/mount_point]。
- hard/sort值为0的时候表示没有限制,edquota -p myquotal -u myquota2,依次是myquota3,myquota4,myquota5,即可将限制值复制给其他几个账号。edquota -g myquotagrp 修改用户的quota限额。即出现文本内容进行修改。
- 而要修改时间的话,可以edquota -t,在内容中修改时间就行。
更多推荐
Linux系统命令学习笔记
发布评论