Linux常见命令学习记录

Linux基础:

1. Linux内核版本:下载linux时,选择偶数的稳定版。

2. Linux发行版本:国内互联网公司常用CenOS(基于RedHat源码进行编译,去掉标识,可免费使用)。

3. Linux好处:开源的、安全性比windows高、并发上可多用户多任务。

4. 推荐使用命令行的交互模式,提升工作效率。

5. root(管理员)用户权限多于个人用户。

6. 常用目录介绍:

        /:系统根目录,通常不会在这里存放文件;

        /bin:二进制目录,存放许多GNU用户级的工具;

        /boot:启动目录,存放启动文件;

        /dev:设备目录,linux在这里创建设备节点;

        /etc:系统配置文件目录;

        /home:用户主目录,linux在这里创建用户目录;

        /lib:库目录,存放系统和应用程序的库文件;

        /media:媒体目录,存放可移动媒体设备挂载点的地方;

        /mnt:挂载目录,另一个存放可移动媒体设备挂载点的地方;

        /opt:可选目录,通常用于存放可选的软件包;

        /root:管理员根目录;

        /sbin:系统二进制目录,存放许多GNU管理员级工具;

        /tmp:临时目录,可以在该目录中创建和删除临时工作文件;

        /usr:用户安装软件的目录;

        /var:可变目录,用于存放经常变化的文件,比如日志文件。

Linux命令:

1、磁盘管理

        a) pwd (print work directory) :查看根目录到当前目录的完整路径。

        b) ls (list file):展示目录文件;ls -a (all):展示含隐藏文件在内的所有文件;ls -ltr (long time reverse):详细信息,并按时间排序;ls 展示目录文件,可加目录名。

        c) cd (change directory):切换工作目录;特殊的,cd ~:切换到home(主)目录;cd -:切换到上一次访问的目录;cd ..:切换到上一级目录;cd .:仍是当前目录。

        d) mkdir (make directory) / rmdir (remove directory):创建/删除目录;mkdir -p:递归创建目录。

        e) df:显示磁盘分区上可以使用的磁盘空间,df -h显示可读格式;

        f) du:显示每个文件和目录的磁盘使用空间,du -h显示更可读的格式。

        g) mount/umount:挂载/卸载linux系统外的文件。

2、文件管理

        a) cp (copy file):复制文件或目录,cp src dest/dir,若要复制目录及其子文件(夹),则需-r参数;scp命令用于远程文件/目录的复制。

        b) mv:文件移动/改名;mv src dir:将source移动到dir;mv src dest:把src改名为dest。

        c) touch filename/dirname: 修改文件或目录的时间属性,若文件不存在,则创建一个新文件。

        d) rm (remove):删除文件/目录;rm -rf:直接删除文件&目录(好用,但需慎用); -f表示唯读文件的删除无需确认。

        e) cat (concatenate):将一个或多个文件中的内容输出到屏幕,或者输出到文件流,-n显示行号;与cat相反,tac是逆序形式打印行。

        f) head/tail -n num XXX:查看XXX文件的开头/结尾的num行(num默认10);tail -f logname 实时监控logname的末尾新增情况;tail -n +10 file:显示file中第十行到末尾;head -n -5 file:显示file中除最后5行外的所有行。

        g) diff A B:对比A和B文件的异同,进阶用法看diff -help

        h) less/more:浏览文件,支持翻页和搜索,q退出。

        i) which filename:查找文件路径。

3、 文档编辑

        a) sort:对文本内容以行为单位排序;sort filename:对filename文件内容排序(以第一列的字符进行排序);sort filename -k 2:以第二列内容为标准排序;-r指以相反的顺序排序;-u指排序结果是去重的。

        b) uniq: 对文本内容(以行为单位)去重;-c指显示重复出现的次数;当重复的行不相邻则不起作用,所以此时uniq需要与sort搭配使用,如sort filename | uniq

        c) wc (word count):统计指定文件的行数、字数,以及字节数;wc -l filename:统计行数,其他参数 -w统计字数,-c统计字节数。

        d) comm:统计两个已排序文件的交集、差集;comm sortedAfile sortedBfile:分3列分别显示A、B两个文件的‘仅在A中出现的行’、‘仅在B中出现的行’、‘在A、B中均出现的行’,在命令后添加参数-1指删除第一列,-2删除第二列,-3删除第三列;交集comm A B -1 -2;A的差集:comm A B -2 -3;B的差集:comm A B -1 -3

        e) tr:对来自标准输入(stdin)的内容进行字符替换、删除以及重复字符的压缩;格式为 tr [options] set1 set2 :将stdin的字符集从set1一一映射到set2 (set1和set2指两种字符组/类),若set1长度超出set2,set2复制最后一个字符直到与set1相等,若set2大于set1,超出部分忽略;将abcde从小写转大写输出:cat abcde | tr 'a-z' 'A-Z';删除cd2h5中的数字字符:cat cd2h5 | tr -d '0-9';压缩字符串中重复出现的‘c’为单个‘c’:cat abccccd | tr -s 'c

3、文件压缩

        a) tar -zcvf:打包(tar -zcvf  xxx.tar.gz  yyy 将yyy压缩成xxx压缩包);tar -zxvf:解压tar.gz压缩文件(tar -zxvf xxx.tar.gz将该压缩包解压到当前目录)。(其中,-v或--verbose 显示指令执行过程;-z或--gzip或--ungzip 通过gzip指令处理备份文件;-f<备份文件>或--file=<备份文件> 指定备份文件;-c或--create 建立新的备份文件;-x或--extract或--get 从备份文件中还原文件)。

        b) zip/unzip:打包/解压zip文件。

其他命令:“向上键”:低成本翻找最近使用的指令;history:查看过去所有指令;命令 –help:查看帮助。

4、帮助命令man

        a) man command:查询命令详细信息,如man ls。

        b) man 5 filename:查询配置文件的详细信息,如man 5 passwd。

5、用户和用户组及密码管理useradd、userdel、passwd

        a) useradd work:创建用户,work指用户名。

        b) userdel work:删除用户。

        c) passwd:修改当前用户密码;passwd work:修改其他(work)用户密码(只有root权限的用户可以)。

6、文件与目录权限管理chmod、chown

        a) root用户拥有系统中最高权限,慎用root;

        b) 权限划分 -rwxrwxrwx-,前三位U user归属人(文件所有者),中三位G group归属组(用户组),后三位O其他人(其他用户);

        c) 数字权限:r=4,w=2,x=1,分别指二进制100、010、001(rwx分别指读写执行);

        d) chmod:修改权限,如chmod 750 filename;递归修改文件权限:chmod -R 750 dirname(7指user具有rwx权限,5指group有rx权限,0指other没有权限);

        e) chown:修改归属;chown user:group filename修改归属人以及归属组;chown -R user:group dirname:递归修改该目录下全部文件。

7、文件修改sed

        a) 将filename文件中所有aaa替换为bbb:sed -i ‘s/aaa/bbb/g’ filename,其中s指替换(每行第一次出现的部分),g指全局替换,-i指修改后的替换原文件;

        b) 删除文件前3行内容:sed -i 1,3d filename,1代表起始,3指结束行;删除第5行内容:sed -i 5d filename;删除含关键字abcd的行:sed -i '/abcd/d' filename;删除空白行:sed '/^$/d' filed指删除。

        d) 显示filename文件第7到9行:sed -n '7,9p' filename,显示第10行:sed -n '10p' filenamep表示print;显示含关键字abcd的行:sed -n '/abcd/p' filename

        e) 将第2~5行整体替换成abcde:sed -i '2,5c abcde' filenamec表示取代。

        f) 在第2行后一行添加abcde:sed -i  '2a abcde' filenamea表示新增。

        g) 在第二行前一行加abcde:sed -i '2i abcde' filename, i表示插入。

8、文本处理命令awk 

        a) awk命令结构:awk 'BEGIN{  执行前语句 }  pattern{ 处理每一行执行的语句 } END{ 处理完所有行后执行的语句 }' file,这3部分是可选的;如输出文件的行数:awk 'BEGIN { i=0 } { i++ } END { print i}' filename

        b) 按列输出:

        awk '{print $2}' filename:以空格为分隔符输出第二列;

        awk '{print $NF}' filename:以空格为分隔符输出最后一列;

        awk -F 'a' '{print $2}' filename:以a为分隔符,输出第二列;

        awk '$2==abcd {print $1,$4}' filename,以空格为分隔符输出第二列等于abcd的第一、四列;

        awk 'NR==10 {print $0}' filename,输出第10行;

        awk 'END{print NR}' file,统计文件行数;

        其中,NR指当前行号,$0表示整行,NF指当前行字段数,$NF指最后一个字段内容,$(NF-1)指倒数第一个字段内容,$2指第2个字段内容。

        其中命令行参数,-F指定输入分隔符,若是多种分隔符,则类似-F '[,.]'表示,OFS指定输出分隔符,分隔符默认均是空白符。

        c) 支持正则字符串匹配:

        awk ‘$2 ~ /th/ ‘{print $2,$4}’ filename:第二列包含th时,输出第2、4列,~表示匹配模式(不匹配是!~),//双斜杠内部写模式。

              

9、文本编辑vim

        a) 命令模式:打开vim后默认进入的模式,可从任意模式通过Esc键切换为命令模式;

        b) 插入模式:类似windows记事本,只能从命令模式,通过(i、a、I、A)等命令进入插入模式;

        c) 可视模式:使用光标选取一片区域的文本内容,之后可通过命令来操作,只能从命令模式,通过(ctrl+v,v)等名命令进入可视模式。

命令模式进入插入模式
命令作用
i插入到光标前面
I插入到光标所在行最前面
a插入到光标后面
A插入到光标所在行最后面
o在光标所在行下面新开一行
O在光标所在行上面新开一行

命令模式中常见命令——退出vim命令
命令作用
:w保存
:wq保存退出
:x保存退出,同ZZ
:q退出(已保存)
:q!不保存强制退出,同ZQ

命令模式常见命令——移动光标命令
命令作用
h,j,k,l光标移动,h左、j下、k上、l右
Ctrl+f上一页
Ctrl+b下一页
E,e跳到单词的后面
B,b跳到单词的前面
gg跳到第一行的开始
G

跳到最后一行的开始,nG是第n行 

复制粘贴命令
命令作用
dd剪切光标所在的一行
3dd剪切含光标所在及往下的3行
dw删除光标所在单词
x删除光标后面单词
yy复制光标所在行
3yy复制3行
p粘贴剪切板内容到光标下一行
P粘贴到上一行
:set nu显示行号
:set nonu取消行号显示

10、 文件查找find、grep

        a) grep --color=auto -n 't[ae]st' filename:在filename中搜索包含tast或test的内容,-n显示匹配行行号,--color=auto着重标记匹配模式,-o只输出匹配模式部分,-c统计匹配模式的行数,-i忽略模式的大小写;

        b) grep abc -rl dirname:grep查找dirname中所有包含abc内容的文件,-r递归查找子目录文件,-l只打印匹配的文件名;

        c) grep -v abc filename:打印filename中不含abc的行,-v打印不匹配的行;

        d) find /home -name filename:从home目录下查找文件名为filename的文件;

        e) find / -name filename -type d:从根目录查找文件名为filename的文件并属性为目录的文件;

        f) find / -name filename -exec ls -l {} \; :查找文件名为filename的文件,并查找该文件属性。

11、其他命令

        a) 清屏:clear;退出当前命令:Ctrl+c;挂起当前进程:Ctrl+zfg恢复 。

        b) echo显示字符串,如echo "12345" echo "1234" > filename 将内容定向至文件filename;echo `date`:显示命令执行结果(注意命令用``号括着)。

        c) test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,

                数值测试:-eq(等于为真),-ne(不等于为真)、-gt(大于为真)、-ge(大于等于为真)、lt(小于为真)、le(小于等于为真)

                字符串测试:=(等于为真)、!=(不等为真)、-z(字符串长度为0为真)、-n(字符串长度不为0为真);

        d) seq:输出一串首数(默认1)到尾数之间连续等间隔的数字;用法有3种:seq 尾数seq 首数 尾数seq 首数 增量 尾数,其中,可选命令参数有:-f (以指定的printf格式输出该串数字),-s(指定各个数字之间的分割符,默认'\n'),-w(通过数字前添0使得各个数字宽度相同)。

12、 Linux系统管理

        1). yum install vim(CentOS);

        2). yum install wget -y:-y指跳过安装过程中的确认阶段;

        3). ping:检测网络联通性,如,ping www.baidu.com

        4). telnet:检测域名/IP和端口,如telnet www.baidu.com 80;

        5). netstat:各种网络相关信息,如网络连接、路由表、接口状态;

        6). ifconfig:查看网卡信息;

        7). 进程与线程:简单来说进程是一个执行程序,而线程是进程中的一条执行路径;

        8). ps (process status):显示当前进程状态;ps -ef:全格式显示所有当前进程信息;ps -ef | grep 进程关键字:根据关键字显示进程;ps -A:列出所有进程;ps -aux:显示所有包含其他使用者的进程。

        9). top:监控PID或命令占用的内存、cpu情况等;top -c:显示完整命令。

        10). kill pid:杀死进程pid;kill -9 pid:强制杀死进程pid。

        11). id:显示用户ID,及用户所属群组ID。

        12). date显示/设定时间,date:显示当前时间 data + “%Y-%m-%d”:格式化显示;昨天日期:date -d "1 day ago" +"%Y-%m-%d";2秒前时间:date -d "2 second" +"%Y-%m-%d %H:%M.%S"date -d "+/-1 day" +%Y%m%d:显示后/前一天日期;-d表示按字符串显示时间格式;-s表示设定时间。

        13). who:显示当前登录系统的用户;whoami:显示用户名。

        14). su (swich user):变更为其他使用者身份,如su root:切换到root用户。

        15). sudo:以系统管理者的身份执行指令。

        16). exit:退出目前shell。

        17). sleep:延迟指定时间(后再执行某一指令);sleep 1ssleep 3msleep 5hsleep 2d;分别是睡眠1秒、3分钟、5小时、2天。

        18). uname:命令用于显示操作系统信息;-a显示全部信息;-m显示处理器类型;-n显示主机名;-r显示内核版本号;-s显示操作系统名称;-v显示操作系统版本及时间。

参考:Linux 教程 | 菜鸟教程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值