ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux常见命令

2021-12-21 16:01:39  阅读:168  来源: 互联网

标签:文件 etc 常见 命令 sed awk Linux root 目录


  • 显示日期与时间的命令:date
  • 热键“命令补全或文件补齐”:Tab
  • 热键“中断目前程序”:Ctrl+C
  • 热键“键盘输入结束(End of File)相当与输入exit”:Ctrl+D
  • 在线求助:man 【command】或 info 【command】,按q退出
  • 数据同步写入磁盘:sync
  • 关机命令:shutdown -h 【now | 10(分钟) | 20:25】
  • 重启命令:reboot
  • 改变权限:chmod
  • chmod [-R] xyz 文件或目录

u,g,o表示user,group,other这3种身份的权限,a表示all,即全部的身份。+加入,-除去,=设置。r读,w写,x执行,4读,2写,1执行。

chmod 777 /home/hadoop/a.txt

chmod u+rwx,g+rx,o+r /home/hadoop/a.txt

  • 目录

1). 代表此层目录

2)… 代表上一层目录

3)- 代表前一个工作目录

4)~ 代表“目前用户身份”所在的主文件夹

5)~account 代表account这个用户的主文件夹(account是个帐号名称)

  • 切换目录:cd

cd 【相对路径或绝对路径】

  • 显示目前所在的目录:pwd

pwd [-P]

-P 如果是连接文件,会不以连接文件的数据显示,而是显示正确的完整路径,即获取连接文件的真正路径。

  • 新建新目录:mkdir

mkdir [-mp] 目录名称

-m : 配置文件的权限,mkdir -m 711 test1;

-p : 帮助你直接将所需要的目录(包含上层目录)递归创建起来,如果没有这个参数,只能一层一层建立目录,mkdir -p /home/a/b/c/d.

  • 删除“空”的目录:rmdir

rmdir [-p] 目录名称

  • 查看文件与目录:ls

ls [-aAdfFhilnrRSt] 目录名称

ls [–color={never,auto,always}] 目录名称

ls [–full-time] 目录名称

-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来(

-d:仅列出目录本身,而不是列出目录内的文件数据(常用

-f:直接列出结果,而不进行排序(ls默认会以文件名排序)

-F:根据文件、目录等信息给予附加数据结构,例如:*:代表可执行文件,/:代表目录,=:代表socket文件,|:代表FIFO文件

-h:将文件容量以人类较易读的方式(例如GB,KB等)列出来

-l:列出长数据串,包含文件的属性与权限等数据(常用)

-r:将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小

-R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来

-S:以文件容量大小排序,而不是用文件名排序

-t:依时间排序,而不是用文件名

–color=never:不要依据文件特性给予颜色显示

–color=always:u显示颜色

–color=auto:让系统自行依据设置来判断是否给予颜色

–full-time:以完整时间模式(包含年、月、日、时、分)输出

–time={atime,ctime}:输出访问时间或改变权限属性时间(ctime),而非内容更改时间(modification time)

  • 复制文件或目录:cp

cp [-adfilprsu] 源文件(source) 目标文件(destination)

cp [option] source1,source2,source3, … directory

-a:相当于-pdr 的意思

-d:若源文件为连接文件的属性(link file),则复制连接文件属性而非文件本身

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)

-r:递归持续复制,用于目录的复制行为(常用)

-i:若目标文件(destination)已经存在时, 在覆盖时会先询问操作的进行(常用)

-l:进行硬链接(hard link)的连接文件创建,而非复制文件本身

-s:复制成为符号链接文件(symbolic link),即“快捷方式”文件

  • 远程拷贝:scp

scp -r /home/administrator/test/ root@192.168.1.100:/root/ //拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下

scp /home/administrator/Desktop/old/driver/test/test.txt root@192.168.1.100:/root/ //拷贝单个文件至远程主机

scp -r root@192.168.62.10:/root/ /home/administrator/Desktop/new/ //远程文件/文件夹下载

  • 移除文件或目录:rm

rm [-fir] 文件或目录

-f:就是force的意思,忽略不存在的文件,不会出现警告信息

-i:互动模式,在删除前会询问用户是否操作

-r:递归删除。最常用在目录的删除。但是很危险!!!

23、移动文件或目录,或更名:mv

mv [-fiu] source destination

mv [options] source1,source2,source3,…,directory

  • 随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?

答案:

写文件命令:vi

向屏幕输出带空格的字符串:echo hello world

  • 查看文件内容有哪些命令可以使用?

答案:

vi 文件名 #编辑方式查看,可修改

cat 文件名 #显示全部文件内容

more 文件名 #分页显示文件内容  按q停止

less 文件名 #与 more 相似,更好的是可以往前翻页  按q停止

tail 文件名 #仅查看尾部,还可以指定行数

head 文件名 #仅查看头部,还可以指定行数

  • 取出前面几行:head

head [-n number] 文件

head -n 20 /home/test

head -n -100 /home/test //不打印后面100行的数据,只是显示前面的数据

  • 取出后面几行:tail

tail [-n number] 文件

tail -n 20 /home/test

tail -n +100 /home/test //只是列出100行以后的数据

  • 修改文件时间或创建新文件:touch
  • 查看文件类型:file

  • 从文件系统寻找特定的文件:find

find [PATH] [option] [action]
 

  • 列出文件系统的整体磁盘使用量:df

df [-ahikHTm] [目录或文件名]
 

  • 评估文件系统的磁盘使用量(常用于评估目录所占容量):du

du [-ahskm] 文件或目录名称
 

  • 变量的显示:echo

echo $PATH

echo helloworld

  • 查看历史命令:history

  • 命令别名设置:alias

alias lm=‘ls -l | more’

  • 管道命令:pipe

ls -al /etc | less

  • 分析一行信息,若匹配想找的数据则将该行取出来:grep

grep [-acinv] [–color=auto] ‘查找字符串’ filename

-a:将binary文件以text文件的方法查找数据

-c:计算找到“查找字符串”的次数

-i:忽略大小写的不同,所以大小写视为相同

-n:顺便输出行号

-v:顺便输出行号

–color=auto:可以将找到的关键字部分加上颜色显示

history | grep ‘ls’

  • 统计文件的字、行、字符:wc

wc [-lwm]

-l:仅列出行

-w:仅列出多少字(英文单字)

-m:多少字符

cat /etc/man.config | wc //输出三个数字分别为行、字数、字符数

  • 54、数据的替换、删除、新增、选取工具:sed
  • sed [-nefr] [动作]
  • 1)参数:
  • -n:使用安静(silent)模式。在一般sed的用法中,所有来自STDIN的数据一般都会被列出到屏幕上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者操作)才会被列出来
  • -e:直接在命令模式上进行sed的动作编辑
  • -f:直接将sed的动作写在一个文件内,-f filename则可以在filename内的sed动作
  • -r:sed的动作支持的是扩展型正则表达式的语法(默认是基础正则表达式语法)
  • -i:直接修改读取的文件内容,而不是由屏幕输出
  • 2)动作说明:[n1 [,n2]] function
  • n1,n2:不见得会存在,一般代表选择进行动作的行数,举例来说,如果我的动作是需要在10到20行之间进行的,则“10,20[动作行为]”
  • function常用的参数:
  • a:新增,a的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行)
  • c:整行替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行
  • d:删除,因为是删除,所以d后面通常不接任何参数
  • i:插入,i的后面可以接字符串,而这些字符串会在新的一行出现(目前上一行)
  • p:打印,也就是将某个选择的数据打印出来,通常p会与参数sed -n一起运行
  • s:部分替换,可以直接进行替换的工作,通常这个s的动作可以搭配正则表达式!例如1,20s/old/new/g
  • 3)以行为单位的新增/删除功能
  • nl /etc/passwd | sed ‘2,5d’ //将/etc/passwd的内容列出并且打印行号,同时,将第2~5行删除
  • 4)在第二行后面(即加在第3行)加上“drink tea?“字样
  • nl /etc/passwd | sed ‘2a drink tea?’
  • 5)在第二行前面(即加在第2行)插入“drink tea?“字样
  • nl /etc/passwd | sed ‘2i drink tea?’
  • 6)在第二行后面加入两行字,例如"Drink tea or " 与"drink beer?"
  • -> nl /etc/passwd | sed '2a Drink tea or \
  • -> dirnk beer? ’
  • 7)以行为单位的替换与显示功能
  • nl /etc/passwd | sed ‘2,5c No 2-5 number’ //将第2-5行的内容替换成为“No 2-5 number”
  • 8)仅打印部分数据
  • nl /etc/passwd | sed -n ‘5,7p’ //-n表示只会打印处理后的数据,如果不加-n,那处理后的数据会打印两次
  • 9)部分数据的查找并替换的功能
  • sed ‘s/要被替换的字符串/新的字符串/g’
  • hadoop@hadoop-ThinkPad:~$ /sbin/ifconfig eth0
  • eth0 Link encap:Ethernet HWaddr b8:88:e3:3c:89:f9
  • inet addr:10.130.26.21 Bcast:10.130.26.127 Mask:255.255.255.128
  • inet6 addr: fe80::ba88:e3ff:fe3c:89f9/64 Scope:Link
  • UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  • RX packets:143999 errors:0 dropped:1 overruns:0 frame:0
  • TX packets:88285 errors:0 dropped:0 overruns:0 carrier:0
  • collisions:0 txqueuelen:1000
  • RX bytes:39104286 (39.1 MB) TX bytes:39602666 (39.6 MB)
  •     sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g'            //从ifconfig文件中抽取出本机的ip地址
  •     cat /etc/man.config | grep 'MAN' | sed 's/#.*$//g' | sed '/^$/d'
  • 1
  • 2
  • 55、数据处理工具:awk
  • sed常常作用于一整行的处理,awk则比较倾向于将一行分成数个“字段”来处理,awk相当适合处理小型的数据处理。
  • awk ‘条件类型1{动作1} 条件类型2{动作2} … ’ filename
  • awk 主要是处理每一行的字段内的数据,而默认的字段的分隔符为空格键或[tab]键
  • awk的处理流程是:
  • 1)读入第一行,并将第一行的数据填入$0,$1,$3等变量当中,$0代表一整行数据
  • 2)依据条件类型的限制,判断是否需要进行后面的动作
  • 3)做完所有的动作与条件类型
  • 4)所还有后续的“行”的数据,则重复上面1~3的步骤,直到所有的数据都读完为止
  • awk的内置变量:
  • NF : 每一行($0)拥有的字段总数
  • NR : 目前awk所处理的是“第几行”数据
  • FS : 目前的分隔字符,默认是空格键
  • awk运算符:
  • >:大于 <:小于 >=:大于或等于 <=:小于或等于 :等于 !=:不等于
  • last -n 5 | awk ‘{print $1 “\t” $3}’ //打印第一列和第3列
  • last -n 5 | awk ‘{print $1 "\t lines: " NR “\t columes:” NF}’ //打印第一列,第几行,每一行的列数
  • cat /etc/passwd | awk '{FS=":"} $3 < 10 {print $1 “\t” KaTeX parse error: Expected 'EOF', got '}' at position 2: 3}̲' //分隔为:,… cat pay.txt | awk 'NR1{printf “%10s %10s %10s %10s %10s\n”,$1,$2,$3,$4,“Total”}
  • NR>=2{total=$2+$3+$4
  • printf “%10s %10d %10d %10d %10.2f\n”,$1,$2,$3,$4,total}’
  • Name 1st 2nd 3th Total
  • VBird 23000 24000 25000 72000.00
  • DMTsai 21000 20000 23000 64000.00
  • Bird2 43000 42000 41000 126000.00
  • 56、文件比较工具:diff
  • diff [-bBi] from-filr to-file
  • 57、新增用户:useradd
  • useradd [-u UID] [-g 初始化用户组] [-G 次要用户组] [-mM] [-c 说明栏] [-d 主文件夹绝对路径] [-s shell] 用户帐号名
  • useradd vbird1
  • useradd -u 123 -g users vbird2
  • 58、设置密码:passwd
  • passwd 123456
  • 59、删除用户:userdel
  • userdel vbird1
  • 60、新增用户组:groupadd
  • groupadd [-g gid] [-r] 用户组名
  • 61、删除用户组:groupdel
  • groupdel [groupname]
  • 62、切换身份:su
  • su [-lm] [-c 命令] [username]
  • - :单纯使用 - 如“su - ”,代表使用login-shell的变量文件读取方式来登录系统,若用户名称没有加上去,则代表切换为root身份
  • -l:与 - 类似,但后面需要加欲切换的用户帐号,也是login-shell的方式
  • -m:-m与-p是一样的,表示使用目前的环境设置,而不读取新用户的配置文件
  • -c:仅进行一次命令
  • 63、切换到root身份:sudo
  • 64、查看当前用户的id:id
  • 65、查看目前登录在系统上的用户:who或w
  • 66、每个帐号的最近登录时间:lastlog
  • 67、直接将命令丢到后台中“执行”:&
  • tar -zvf /tmp/etc.tar.gz /etc &
  • 68、将目前的工作丢到后台中“暂停‘:Ctrl+z
  • 70、管理后台当中的工作:kill
  • kill -signal %jobnumber
  • kill -l //-l列出目前kill能够使用的信号(signal)有哪些,signal代表给予后面接的那个工作什么样的指示。
  • -1:重新读取一次参数的配置文件(reload)
  • -2:代表与由键盘输入[ctrl]-c同样的操作;
  • -9:立即强制删除一个工作
  • -15:以正常的程序方式终止一项工作,与-9不同
  • kill -9 %2; jobs
  • 终止进程用什么命令? 带什么参数?
  • 答案:
  • kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
  • kill-9 pid
  • 71、查看某个时间点的进行状况:ps
  • ps aux //查看系统所有的进程数据
  • ps -lA //也是能够查看所有系统的数据
  • ps axjf //连同部分进行树状态
  • -A:所有的进程均显示出来,与-e具有相同的作用
  • -a:不与termial有关的所有进程
  • -u:有效用户相关的进程
  • x:通常与a这个参数一起使用,可列出较完整的信息
  • 输出格式:
  • l:较长、较详细地将该PID的信息列出
  • j:工作的格式(jobs format)
  • -f:做一个更为完整的输出
  • 1)仅查看自己的bash相关进程:ps -l
  • 2)查看系统所有进程:ps aux
  • ps aux | grep ‘syslog’
  • 72、查看内存使用情况:free
  • free [-b|-k|-m|-g] [-t]
  • -b:直接输入free时,显示的是KB ,我们可以使用b(bytes)、m(MB),k(KB)及g(GB)来显示单位
  • -t:在输出的最终结果中显示物理内存与swap的总量
  • 75、跟踪网络:netstat
  • 76、查看网卡信息:ifconfig
  • ifconfig eth0 192.168.0.1 netmask 255.255.255.0 //配置网卡ip地址
  • 77、远程登录linux主机:ssh
  • ssh [-l login_name] [-p port] [user@]hostname
  • ssh 192.168.0.11
  • ssh -l root 192.168.0.11 或 ssh root@192.168.0.11 //指定用户
  • ssh -l root -p 12333 216.230.230.114
  • 79、查看服务:service
  • service --status-all
     

标签:文件,etc,常见,命令,sed,awk,Linux,root,目录
来源: https://blog.csdn.net/weixin_43641920/article/details/122062137

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有