linux基础重要命令小节
此为L005&&L006课程内容的一个总结。
命令:
基本形式
命令 [参数] [路径或文件]
例:ls -ld /data
pwd 目前所在目录
[root@moban /]# pwd
/
mkdir 创建目录命令
[root@moban tmp]# mkdir as
[root@moban tmp]# ls
as lkj.txt oldboy.txt yum.log
ls -l 显示目录或文件列表
[root@moban tmp]# ls -ld
drwxrwxrwt. root root Mar : .
ls -ld 显示文件本身属性
[root@moban /]# ls -ld /etc
drwxr-xr-x. root root Mar : /etc
ls -F 或者 ls -p 可以直接区别目录和文件,他会在每个目录的后面多加一个斜线“/”
[root@moban /]# ls -F /var/
account/ cvs/ games/ lock/ nis/ run/ yp/
cache/ db/ lib/ log/ opt/ spool/
crash/ empty/ local/ mail@ preserve/ tmp/
ls -lrt r为反转 t为时间,参数的意思为时间从近到远输出
[root@moban tmp]# ls -lrt
total
drwxr-xr-x root root Mar etc
-rw-r--r-- root root Mar cut.txt
drwxr-xr-x root root Mar lok
drwxr-xr-x. root root Mar io
-rw------- root root Mar yum_save_tx-----16otc2lB.yumtx
-rw------- root root Mar yum_save_tx-----186ZDXOk.yumtx
cd [路径] 切换目录层次。cd.为当前目录。cd..为上级目录。
[root@moban ~]# cd /etc/
[root@moban etc]#
touch [文件] 创建文件
[root@moban tmp]# touch .txt
[root@moban tmp]# ls
.txt as lkj.txt oldboy.txt yum.log
[root@moban tmp]#
vi [文件] 创建一个记事本 如果文件不存在就创建一个新文件
[root@moban tmp]# vi .txt
cat [文件] 查看文件内容
[root@moban tmp]# cat .txt
lkj
cat -n [文件] 查看内容带行号
[root@moban tmp]# cat -n cut.txt
I am oldboy myqq is
echo 打印输出内容,如果需要打印的话语中有空格就要用双引号。
[root@moban tmp]# echo "hello"
hello
如果把单行文本覆盖到文件里可以使用“>"但是会清空原来的内容。要小心使用
[root@moban tmp]# cat .txt
lkj
[root@moban tmp]# echo "like" > .txt
[root@moban tmp]# cat .txt
like
如果不想覆盖原内容,想在结尾追加用“>>”
[root@moban tmp]# cat .txt
lkj
[root@moban tmp]# echo "like" >> .txt
[root@moban tmp]# cat .txt
lkj
like
cp [路径文件] [路径] 拷贝(copy)只能拷贝文件不能拷贝目录,如果要拷贝目录要用-a或-r参数。
[root@moban /]# cp -a /io /tmp/
[root@moban /]# ls /tmp/
.txt as io lkj.txt oldboy.txt yum.log
mv [文件路径] [路径] 移动,既可以移动文件也可以移动文件夹。
rm 删除(remove)删除文件夹要加参数 -r 强制删除要用-f 删除指定目录和文件-fr
[root@moban /]# rm /tmp/.txt
[root@moban /]# rm -r /oi
[root@moban /]# rm -f /tmp/.txt
[root@moban /]# rm -fr /oi
*grep -v [指定字符] [文件] 过滤文件中的指定字符的行。
[root@moban /]# cat .txt
liyun
lichaoran
wangyanhua
[root@moban /]# grep -v li /.txt
wangyanhua
如果不加-v则显示你选择字符的行。
[root@moban /]# grep li /.txt
liyun
lichaoran
grep -n [文件] 显示行号
head 头,也可用于搜索文件中的特定内容。
[root@moban /]# head - .txt
liyun
lichaoran
##显示前两行,如果不加数字默认为前10行
*sed 取各种内容,功能十分强大。
[root@moban /]# sed -n /li/p .txt
liyun
lichaoran
##-n为表示取消原始输出,不用-n会把整个文件的内容打出来并且把搜索的内容又打出来一遍。
##p为print 打印,把含有li的行打印出来
##搜索的关键字要放在//中间,例如上边的/li/
[root@moban /]# sed /li/p .txt
liyun
liyun
lichaoran
lichaoran
wangyanhua
##如果不加-n,会打印出并复制一行所取出的内容
[root@moban /]# sed /li/d .txt
wangyanhua
##d为delete,不显示所搜索的行。
mkdir -p 循环建立文件夹,递归创建。
[root@moban /]# mkdir -p /////
tree 树,显示一个文件夹下的各层文件夹。
[root@moban /]# tree //
//
└──
└──
└──
└── directories, files
alias 别名;1)通过给危险命令加一下保护参数,可以防止误操作。2)把很多的字符串变成一个简单的字符串或者命令。
[root@moban /]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
##默认的别名
如上,默认的cp -i别名为cp,-i为提示确认的参数,如果不需要-i可以使用unalias。
[root@moban /]# unalias cp
##但是在重启后失效。
默认别名的位置cat ~/bashrc 此可以永久修改。
find [路径] -type(类型)f(文件)-name(名字)“cat”(文件名) 查找
find还可以查询5天前的指定地址目录
[root@moban /]# find /log/ -type -f -name "*.log" -mtime +

此为ntime的时间图示,一定要看懂,不然会出错。
xargs 按行,多配合管道“|”使用(暂时先这么理解,以后补充)
[root@moban /]# find /tmp/ -type f -name .txt|xargs rm -f
##查找/tmp/目录下321.txt的文件,名按行删除,如果没有xargs是不对的因为查找到的是按行输出,不加xargs是错误的。
seq sequence(序列)打印一个序列的数字。
[root@moban /]# seq
横着打。(引号中为空格,也可以是别的符号,用于每个数字的间隔)
[root@moban /]# seq -s " "
which 查看命令的路径whereis,locate,find
[root@moban /]# which cp
alias cp='cp -i'
/bin/cp
awk 三剑客老大。awk用于打列比较方便,sed用于打行比较方便。
[root@moban ~]# awk -F ":" '{print $1}' /etc/passwd
##-F为分割参数,接后面的‘:’就是以:为分隔的意思 。以:分割/etc/passwd的第一列显示。
history 查看历史纪录。-c为清空所有 -d为指定行号删除
diff [文件] [文件] 按行比较文件差别
vimdiff [文件] [文件] ... 比较多个不同的文件,显示不同
useradd [用户名] 填加用户
passwd [用户名] 填加用户名密码,如果不指定用户则修改当前密码。普通用户只能修改自己的密码,--stdin是跳过交互形式的修改密码。
[root@lianxi ~]# echo |passwd --stdin oldboy
whoami 查看当前命令行终端的用户
su - 切换用户角色,注意要带上'-',不然用户变量转不过来,查询用户变量的命令是'env'
yum 基于rpm的包管理工具,rpm类似于windows上的exe
rpm -ivh 软件安装命令。(很少使用)
chkconfig 查询开机自动启动命令,使用他更改后并不能马上生效,只能重启生效,详细请看http://www.cnblogs.com/lcrbg/p/5311275.html
last 查看系统登录记录
lastlog 曾静用户登录过的历史
file [文件] 查看文件类型
[root@moban /]# file /dev
/dev: directory
ln -s [源文件名] [新文件名] 源文件,跟/etc/init.d -> rc.d/init.d一样
df -i 查看inode的使用量和总量
df -h 查看硬盘的余量
除命令以外其他的一些东西
cp
如果复制移动删除等命令下不想提示确认保护,需要在命令前加“\”
[root@moban /]# cp /tmp/test.txt /mnt/
##会提示
[root@moban /]# \cp /tmp/test.txt /mnt/
##不会提示
5 [root@moban /]# /bin/cp /tmp/test.txt /mnt
6 ##另一种方法,命令的具体位置获取详见上面的which命令
tail 于显示指定文件末尾内容,常用查看日志文件。 常用-f参数可以方便的查阅正在改变的日志文件
tail -f [文件名] 循环读取,可以试试查看文件更新
[root@moban tmp]# tail -f /etc/ssh/sshd_config
#Banner none # override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server # Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
tail -n 从结尾开始显示,n为行数
[root@moban tmp]# tail - /etc/ssh/sshd_config
# AllowTcpForwarding no
# ForceCommand cvs server
chkconfig--list 显示系统程序列表
[root@moban tmp]# chkconfig --list
abrt-ccpp :off :off :off :off :off :off :off
abrtd :off :off :off :off :off :off :off
acpid :off :off :off :off :off :off :off
atd :off :off :off :off :off :off :off
auditd :off :off :off :off :off :off :off
blk-availability :off :on :off :off :off :off :off
cpuspeed :off :on :off :off :off :off :off
crond :off :off :on :on :on :on :off
cups :off :off :off :off :off :off :off
haldaemon :off :off :off :off :off :off :off
ip6tables :off :off :off :off :off :off :off
iptables :off :off :off :off :off :off :off
irqbalance :off :off :off :off :off :off :off
kdump :off :off :off :off :off :off :off
lvm2-monitor :off :on :off :off :off :off :off
mcelogd :off :off :off :off :off :off :off
mdmonitor :off :off :off :off :off :off :off
messagebus :off :off :off :off :off :off :off
netconsole :off :off :off :off :off :off :off
netfs :off :off :off :off :off :off :off
network :off :off :on :on :on :on :off
ntpd :off :off :off :off :off :off :off
ntpdate :off :off :off :off :off :off :off
portreserve :off :off :off :off :off :off :off
postfix :off :off :off :off :off :off :off
psacct :off :off :off :off :off :off :off
quota_nld :off :off :off :off :off :off :off
rdisc :off :off :off :off :off :off :off
restorecond :off :off :off :off :off :off :off
rngd :off :off :off :off :off :off :off
rsyslog :off :off :on :on :on :on :off
saslauthd :off :off :off :off :off :off :off
smartd :off :off :off :off :off :off :off
sshd :off :off :off :on :off :off :off
svnserve :off :off :off :off :off :off :off
sysstat :off :on :off :off :off :off :off
udev-post :off :on :off :off :off :off :off
chkconfig --level n [程序名] on/off 指定某程序开关
[root@moban log]# chkconfig --list sshd //查看在各level下的sshd开启状态
sshd :off :off :on :on :off :off :off
[root@moban log]# chkconfig sshd off //关闭所有level下的sshd
[root@moban log]# chkconfig --list sshd
sshd :off :off :off :off :off :off :off
[root@moban log]# chkconfig --level sshd on //sshd开启level 3模式
[root@moban log]# chkconfig --list sshd
sshd :off :off :off :on :off :off :off
tar 压缩
a.[root@moban /]# tar -czvf etc.tar.gz etc/ //参数c为创建。z为gz格式的压缩模式。v为显示过程中的文件名。f为使用文档名
b.[root@moban /]# tar --exclude etc/services -czvf etc1.tar.gz etc/ //exclude为排除某个文件或者目录
c.[root@moban etc]# tar -xzvf etc.tar.gz -C /tmp //x为解压
cut 剪切数据
cut -b [文件名] 截取字节段
[root@moban ~]# echo "I am oldboy,myqq is 49000448" >> oldboy.txt
[root@moban ~]# cat oldboy.txt
a.[root@moban tmp]# cut -b -,- cut.txt
oldboy
b.[root@moban tmp]# cut -b -,- cut.txt
oldboy,
cut -d " " -f 用-d来设定分配分隔符 -f来指定输出
[root@moban ~]# echo "I am oldboy,myqq is 49000448" >> oldboy.txt
[root@moban ~]# cat oldboy.txt
a.[root@moban tmp]# cut -b -,- cut.txt
oldboy
b.[root@moban tmp]# cut -b -,- cut.txt
oldboy,
wc -l 查看文件有多少行
符号
; 多个命令的分隔符
/ 根或路径的分隔符
> 标准输出重定向(数据流朝着箭头的方向流动),会覆盖原来的文件
>> 追加重定向(数据流朝着箭头的方向流动),再原来文件的“结尾”追加内容
<或< 标准输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。
<<或<< 输入重定向:后跟字符串,用来表示‘输入结束’,也可用ctrl+d来结束输入。
.. 上级目录
. 当前目录
^ 开头 例如 sed /^oldboy/d test.txt 删除test.txt中的oldboy开头的行显示出来
~ 用户的家目录
| 管道,把左边的命令输出给管道右边右边令执行,管道的两边不需要空格
{} 配合echo打印序列 echo {1..6} 打印1-6
小技巧
1.查看一个文件的20-30行,如何查看?
我们用sed,也可以用head和tail(但是繁琐)
[root@moban /]# sed -n ,30p .txt
还可以用AWK,但是不方便。
[root@moban ~]# awk '{if (NR>19&&NR<31) print $0}' ett.txt
##NR在awk中表示行的意思 $0为全部,在此是全部打印
2.把根目录(/)下及其子目录下的名为ett.txt的文件中的oldboylinux字符串改成oldboywindows
[root@moban ~]# echo oldboylinux > ett.txt
[root@moban ~]# cp ett.txt /etc/
[root@moban ~]# cp ett.txt /opt/
[root@moban ~]# sed s#oldboylinux#oldboywindows#g ett.txt //s为替换g为全部,合起来是全部替换的意思,###前两个#中间的内容为搜索的内容,后两个#中间的内容为需要替换成的内容
oldboywindows
[root@moban ~]# sed -i s#oldboylinux#oldboywindows#g ett.txt //-i为写入的意思,没有-i只会打印出来,而不会写到文件里
[root@moban ~]# cat
^C
[root@moban ~]# cat ett.txt
oldboywindows
[root@moban ~]# find / -type f -name ett.txt
/etc/ett.txt
/opt/ett.txt
/root/ett.txt
[root@moban ~]# find / -type f -name ett.txt | xargs sed -i s#oldboylinux#oldboywindows#g //查找并批量替换
[root@moban ~]# find / -type f -name ett.txt | xargs cat
oldboywindows
oldboywindows
oldboywindows
最后:
这些命令学完后我给自己除了一些步骤小题,很不完善,也很初级,但是也能巩固一下所学的命令,每隔一段时间再跟着做一次。
. 查询目前所在的目录
. 在根目录创建一个名字为chushi的目录
. 查询根目录列表看看创建的目录是否存在
. 进入chushi目录
. 创建一个名字为1.txt的文件
. Vi编辑1.txt写入I like Linux 保存退出
. 查看1.txt
. 用打印输出功能打印Linux is good 覆盖1.txt原内容。
. 查看1.txt
. 打印输出功能打印Linux is very good 追加1.txt的内容
. 查看1.txt
. 再在根目录下创建一个名字为chushi1的目录
. 查看建立是否成功
. 拷贝chushi目录下的1.txt到chushi1下一份
. 检查复制是否成功
. 再次拷贝chushi目录下的1.txt到chushi1下一份,会提示是否同意覆盖
. 再次拷贝chushi目录下的1.txt到chushi1下一份,但是这次不要然他提示覆盖
. 在根目录下创建一个a.txt的文件和a的目录
. 分别将a.txt文件和a目录移动到chushi下
. 强制删除chushi1文件夹及其内容
. 用cat命令给chushi目录下的1.txt覆盖3行内容(lichaoran liyun wangyanhua)
. 滤出1.txt中的含有“li”的行并显示。
. 找出1.txt中的还有”li”的行并显示
. 显示1.txt的前两行
. 用sed方法查找1.txt中的含有”li”的行
. 用sed方法查找1.txt中不含有”li”的行
. 在根目录创建一个4层的文件夹
. 查看一下27
. 在chushi目录下创建1目录
. 把chushi目录下的1.txt复制到1目录下一份
. 查找chushi目录中的1.txt
. 查找chushi目录下的1.txt并删除
. 在根目录下用序列创建一个b.txt的文件为100
. 用空格为间隔横着显示一总数为6的序列
. 查询命令cp rm mv的位置
. 查询系统默认命令别名
. 查看根目录下的b.txt的45-50行显示。
linux基础重要命令小节的更多相关文章
- Linux学习笔记(9)linux网络管理与配置之一——Linux基础网络命令与学习大纲(0)
大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS客户端 4.配置名称解析顺序 5.配置路由与默认网关 6.双网卡绑定 [1] ping [2]net ...
- Linux基础入门级命令文档
Linux系统上命令的使用格式,及常用命令示例 1.命令提示符 登录系统后,第一眼看到的内容是: [root@node01 ~]# 上图就是 Linux 系统的命令提示符.那么,这个提示符的含义是什么 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----命令执行顺序控制与管道
介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终 ...
- Linux基础-常用命令
常用的压缩命令 一.tar 1.压缩:tar zcvf [压缩包名].tar.gz [待压缩的文件名 ... ] 2.解压缩:tar zxvf [压缩包名].tar.gz -C [指定的解压目录] 3 ...
- Linux 权限、磁盘操作命令-Linux基础环境命令学习笔记
1.创建用户和用户组 1)用户和用户组 /etc/passwd 保存系统用户的基本信息 /etc/group 保存用户组信息 用户名:x:UID:GID 2)基本命令 useradd 增加用户 gro ...
- Linux基础常用命令
Linux 下命令有很多,并且很多命令用法又有不同的选项,这里介绍一些常用的最基本的Linux命令的用法,希望给大家留下便利之处. 1.cd 切换目录.例如 cd /home 可切换到home目录, ...
- Linux基础之命令练习Day7-nginx,nfs
一. Nginx Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗 ...
- Linux基础之命令练习Day4-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make
一. 硬盘分区.格式化及文件系统的管理 1. 在Linux系统中,一切皆文件.每个设备都被当作一个文件来对待. 常见的存储设备在Linux系统中的文件名如下表所示: 2. 对硬盘进行分区有以下优点: ...
- Linux基础之命令练习Day3-文件管理:cat,tar,gzip,vim,ln
一. 文件合并 cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [ ...
随机推荐
- C语言 Include指令(引用头文件)
#include "one.h" #include "two.h" int main(int argc, const char * argv[]) { one( ...
- bootstrap-multiselect.js多选下拉框初始化时默认选中初始值
bootstrap-multiselect.js多选下拉框默认值设置 一.案例数据格式 二.HTML代码 <select id="msgRoles" multiple=&q ...
- Apache轻量级性能測试工具--ab
Apache轻量级性能測试工具--ab ab早已不是什么新奇玩意,平时工作中会须要一些性能測试.简单的性能測试全然能够由AB来替代,而不须要动用LR这样重量级的工具. 此文简介一下ab的工具使用与结果 ...
- (第八场)G Counting regions 【欧拉公式】
题目链接:https://www.nowcoder.com/acm/contest/146/G G.Counting regions | 时间限制:1 秒 | 内存限制:128M Niuniu lik ...
- Java从入门到放弃——01.Java 环境搭建
本文目标: 下载与安装JDK 配置Java环境 1.JDK9下载: 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jav ...
- intelli j中如何重启tomcat,或者关掉tomcat?每次点run都提示jmx端口占用
方法1.idea有时候会这样,我一般都是直接打开任务管理器,把java进程给杀掉就好了.
- 【luogu P3178 [HAOI2015]树上操作】 题解
题目链接:https://www.luogu.org/problemnew/show/P3178 模板题 菜 #include <cstdio> #include <cstring& ...
- Mvc5 表单和HTML辅助方法
①表单的使用 在WebFrom里面你创建一个页面,页面上就会出<from></from>. 1,action和method属性 action表示目的,method表示表单传值方 ...
- 在cmd下面执行.py文件时提示ModuleNotFoundError 但是 IDE 不报错
原理是 python 解释器寻找 模块的顺序决定,不细说 简略来讲就是 在 IDE中运行,会自动帮你把项目根目录添加到 PYTHONPATH 中,但是在 cmd 运行需要自己添加. 解决方法: 1. ...
- VMware ESXi-6.7——安装
前提条件: 下载ESXi-ISO镜像文件 制作启动文件 将服务器调试为U盘启动 进入U盘启动模式 1. 进入ESXi的安装页面 选择要安装的磁盘 选择USB口驱动 设置一个root密码 保存数据提示 ...