UNIX常用命令整理

UNIX常用命令

参考博客 lunix常用命令

文件管理

  1. ls查看当前目录文件,仅有文件名
  2. ll查看当前目录并带有文件信息
  3. mkdir 创建一个目录
  4. vi 或者touch 创建一个文件,vi会创建并进入文件编辑,touch仅创建文件
  5. 删除目录 rmdir
  6. rm xx 删除文件,并需要确认,rm -f xx 忽略提示
  7. 删除目录及文件 rm -rf /xx
  8. 复制文件 cp xxx.txt xxx2.txt 复制xxx并重名了为xxx2.txt
  9. 复制目录下文件至xxx cp /xx/* /xxx 复制xx下所有文件至xxx,会提示是否覆盖重名文件
  10. mv 移动文件 ,mv /xx /xxx2 移动文件至 mv * /xxx移动当前所有文件至某个目录

进程

ps -ef|grep详解

  • ps将某个进程显示出来
  • grep命令是查找
  • 中间是管道命令| 是指ps命令和grep命令同时进行
  • grep 是搜索关键字ps -ef | grep java
  • -aux 显示所有状态ps -aux | grep java
  • kill 杀死进程,找到某个进程kill -9

ps -ef|grep详解

解压/压缩

参考文章 Unix下 压缩和解压缩命令

tar
  • 解压 tar -xvf fileName.tar
  • 解压至某个目录 tar -xvf filename.tar -C xxx(目标目录)
  • 打包: tar -cvf FileName.tar fileName(打包文件/目录)
  • tar是打包 不是压缩
zip
  • unzip file.zip 解压 zip
  • zip fileName.zip srcFileName(需打包的文件/目录)
rar
  • 解压 rar a FileName.rar
  • 压缩
gz
  • 解压1:gunzip FileName.gz
  • 解压2:gzip -d FileName.gz
  • 压缩:gzip FileName
.tar.gz
  • 解压:tar zxvf FileName.tar.gz
  • 压缩:tar zcvf FileName.tar.gz DirName

zip rar tar.gz区别

  • zip或者rar不能保留unix权限
  • 保留unix文件权限需tar.gz压缩

内存

  • free -m 查询服务内存使用

文件编辑查看

参考文章 文件编辑与查看

vi 编辑器
  1. 命令模式:在Shell提示符后输入vi命令,会自动进入命令模式。此时,从键盘上输入的任何字符都会被当作命令来解释。

  2. 插入模式: 在vi命令模式下,输入插入命令(a、i、o)或替换命令(r)可以从命令模式进入编辑模式。在编辑模式下,从键盘上输入的所有字符都会被当做该文件的正文内容。

  3. vi操作

1.跳到文本的最后一行:按“G”,即“shift+g”

2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。

3.跳到第一行的第一个字符:先按两次“g”,

4.跳转到当前行的第一个字符:在当前行按“0”。

5.vi加密。进入vi,输入":"  + "X" 之后就提示你输入两次密码。

6.文件重新载入 :e!

7.单行复制  将光标移到复制行 按 'yy'进行复制

8.多行复制  将光标移到复制首行 按 'nyy'进行复制 n=1.2.3.4。。。。。

9.粘贴 将光标移到粘贴行 按 'p'进行粘贴

10.查找 /pattern Enter
  • rename from to file 文件重命名 (from 替换的字符 to 替换成什么字符 file 修改的文件)
[root@localhost data]# ls
data3.txt  test2.txt
[root@localhost data]# rename data3  data data3.txt 
[root@localhost data]# ls
data.txt  test2.txt
[root@localhost data]# ^C

如何保存和退出
命令 1作用 2
:w保存修
:w [另存为文件名]另存为指定文件
:wq保存修改并退出
ZZ保存修改并退出
:q![另存为文件名]不保存修改并退出
:wq!强制保存修改并退出(对文件不具有写权限时,文件所有者及root可以使用)

cat

  • 命令用途:cat命令用来显示文件的内容
  • 命令语法:cat [-选项] [文件名]
  • 常用选项
-n:显示行号;

-b:和-n相似,只不过对于空白行不编号;

-s:当遇到有连续两行以上的空白行,就代换为一行的空白行; 

tac

  • 命令用途:逆序显示文件内容
  • 命令语法;tac [文件名]

more

  • 命令用途:分页显示文件内容
  • 命令语法;more [文件名]
空格键或f    向下翻页

Enter键      向下换行

q或Q         退出 

less

  • 命令用途:和more相似,less命令也用来分页显示文件内容。
  • 命令语法;less [文件名]
  • 常用选项:
-N:显示行号; 

  • 注:在使用less命令来分页查看文件内容时,在浏览过程中输入"/要搜索的关键字"后按Enter,可以将搜索到的关键字高亮显示,使用"n"查看下一个搜索到的结果。

head

  • 显示文件前几行

tail

  • 命令用途:显示文件末尾几行。
  • 命令语法:tail [-选项][文件名]
  • 常用选项:
-n:指定要显示的行数,若不指定默认显示10行;
-f:动态显示文件末尾内容
eg:
tail -200 xx.log  查看最近两百条日志
tail -200f xx.log 实时刷新最近两百条日志

wc 统计文件

  • 常见命令
wc  -l : 统计行
wc  -c: 统计字节数
wc  -m:统计字符数,不能与-c同时使用
wc  -w:统计字数
wc  -L:打印最长长度

端口查看

命令无效,先安装net-tools: yum install net-tools
严格来说netstat不算是linux/unix下的基本命令,是计算机基本的应用程序
  • 查看端口占用netstat -anp | grep 端口号
  • 查看端口占用情况 netstat -nultp

文件相关

  • 查找一个大于500M的文件
find . -type f -size +500M 
  • 查文件在 linux 下的哪个目录
find / -name tnsnames.o 
find / 根目录下查找
find  /xx 某个xx目录下查找
find . 当前目录下 

unix文件查找

磁盘占用

  • du查看文件或占用的磁盘空间情况 (一般的文件大小)
du -h xxx  文件大小 
du -ch *.txt(匹配多个) 多个文件大小
du -sh 当前文件目录大小 
du -sk xxx 指定文件大小
"-h"参数时,会根据文件的大小选择显示的单位是“K”、“M"还是“G
指定显示的单位,可以使用--block-size"参数
  • du常用的选项

-h:以人类可读的方式显示

-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小

-s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小

-c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和

--apparent-size:显示目录或文件自身的大小

-l :统计硬链接占用磁盘空间的大小

-L:统计符号链接所指向的文件占用的磁盘空间大小
我的理解
h  列出文件及下级目录大小
ch 列出指定目录及下级目录大小+汇总total大小
sh 指定文件大小,不深入文件列出下级目录
sk 同sh 但没有单位

  • df 用于查看总体的文件系统或文件所占用的磁盘空间大小(磁盘的空间使用情况)
df -k  以千字节KB 为单位显示各分区的信息
df -a  显示所有分区包括大小为0 的分区
df -T  显示分区类型EXT2 或EXT3 等
df -h  磁盘占用情况 

scp

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

  • 命令格式
scp [参数] [原路径] [目标路径]
  • 命令功能

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录

  • 命令参数
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
scp命令的实际应用概述
  • 从本地服务器复制到远程服务器
(1) 复制文件:
命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名
(2) 复制目录:
命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;

Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号

  • uname -a (Linux查看版本当前操作系统内核信息)
  • cat /proc/version (Linux查看当前操作系统版本信息)
  • cat /etc/issue 或cat /etc/redhat-release(Linux查看版本 当前操作系统发行版信息)
  • cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)

用户管理

etc/group   组
etc/passwd  用户
etc/shadow  密码
  • 进入root用户
su root 

  • 创建用户组
groupadd xxx

groupadd testg         //新建testg工作组

groupdel testg         //删除用户组;

groupmod                注:修改用户组信息

groups                      //显示用户所属的用户组

cat /etc/group         //查看所有用户组信息

  • 创建用户
管理员权限下
adduser jonk 或者 useradd jonk

adduser ttest  //新建ttest用户(同时自动新建同名用户组ttest)

passwd ttest    //给ttest用户设置密码

id user    //显示用户信息

cat /etc/passwd      //显示所有用户信息

whoami              //查看当前登录用户名

useradd tuxitf -g ngboss -d /ngboss/tuxitf/ -s /bin/bash
tuxitf :用户名
-g nboss:组名或者是id
-d /ngboss/tuxitf/ :新建用户的根路径
-s /bin/bash:设置shell指令模式:sh/bash,/bin/是路径


  • 新建用户同时添加到已有工作组testg(不能新建的工作组)
useradd ttest -g testg -d /home/ttest -s /sbin/nologin
//新建ttest用户并增加到testg工作组
  • 给已有的用户增加工作组
usermod -G groupname username 
(-G添加用户到另一个组,仅限原有组合一个附加组,
重复此命令会覆盖原附加组,仅保持一个附加组)
usermod -a -G groupname username  
(-a 和-G同时使用,可以添加多个附加组)
或者:
gpasswd -a username groupname  (效果同上)
  • 临时关闭:使用如下命令关闭用户账号:
passwd ttest –l

重新释放:

passwd ttest –u

  • 永久性删除用户和用户组
userdel ttest                          (删除用户直接删除对应的同名用户组)

groupdel ttest                       (单独删除用户组必须先保证用户组中没有用户)

userdel -r ttest                      (删除用户、同名用户组,同时删除用户主目录)
  • 从组中删除用户
编辑/etc/group 找到对应的group名那一行,删除最后的username

如:www:x:2002:ttest删除后为:www:x:2002:

这样ttest就不属于www用户组了。

或者用命令
gpasswd -d username groupname    
//注意用户的主用户组无法此方法删除
  • 查看、切换用户
[root@localhost test]# useradd jonk
[root@localhost test]# ls /home
jonk  vagrant
[root@localhost test]# su jonk
[jonk@localhost test]$ su root

授权操作

参考博客 chmod

  • 使用方式 : chmod [-cfvR] [–help] [–version] mode file…
  • 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉
    以控制档案如何被他人所存取。
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有
者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆
是。 
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被
设定过为可执行。 
-c : 若该档案权限确实已经更改,才显示其更改动作 
-f : 若该档案权限无法被更改也不要显示错误讯息 
-v : 显示权限变更的详细资料 
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) 
--help : 显示辅助说明 
--version : 显示版本 
范例 :将档案 file1.txt 设为所有人皆可读取 : 
chmod ugo+r file1.txt 

将档案 file1.txt 设为所有人皆可读取 : 
chmod a+r file1.txt 

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的
人则不可写入 : 
chmod ug+w,o-w file1.txt file2.txt 

将 ex1.py 设定为只有该档案拥有者可以执行 : 
chmod u+x ex1.py 

将目前目录下的所有档案与子目录皆设为任何人可读取 : 
chmod -R a+r * 

此外chmod也可以用数字来表示权限如 chmod 777 file 
语法为:chmod abc file 
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 
r=4,w=2,x=1 
若要rwx属性则4+2+1=7; 
若要rw-属性则4+2=6; 
若要r-x属性则4+1=7。 
范例: 
chmod a=rwx file 
和 
chmod 777 file 
效果相同 
chmod ug=rwx,o=x file 
和 
chmod 771 file 
效果相同 
-rwxrwxrwx. 1 root root     0 Jul 12 21:16 data.txt

指令名称 : chown 使用权限 : root

  • 使用方式 : chown [-cfhvR] [–help] [–version] user[:group] file…
  • 说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥
    有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以
    改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才
    有这样的权限。

chown 命令

  • 用途
    更改与文件关联的所有者或组。
  • 语法
chown [  -f ] [-h] [  -R ] Owner [ :Group ] { File ... | Directory ... }
chown [-R  -f ] [-H|-L-P] Owner [ :Group ] { File ... | Directory ... }
  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unix系统中,有一些常用的命令用于日常操作。以下是一些常见的Unix日常操作命令: 1. `ls`:列出当前目录下的文件和文件夹。 2. `cd`:切换目录。使用`cd`命令后跟目标目录的路径,可以进入该目录。 3. `pwd`:显示当前所在的目录路径。 4. `mkdir`:创建新的目录。使用`mkdir`命令后跟要创建的目录名,可以在当前目录下创建一个新的目录。 5. `rm`:删除文件或目录。使用`rm`命令后跟要删除的文件或目录的路径,可以删除指定的文件或目录。请注意,删除操作是不可逆的,请谨慎使用。 6. `cp`:复制文件或目录。使用`cp`命令后跟源文件或目录的路径,以及目标文件或目录的路径,可以将源文件或目录复制到指定位置。 7. `mv`:移动文件或目录。使用`mv`命令后跟源文件或目录的路径,以及目标文件或目录的路径,可以将源文件或目录移动到指定位置,也可以用来对文件或目录进行重命名。 8. `cat`:查看文件内容。使用`cat`命令后跟要查看的文件名,可以显示该文件的内容。 9. `grep`:在文件中查找匹配的字符串。使用`grep`命令后跟要查找的字符串和要查找的文件名,可以找到包含该字符串的行。 10. `chmod`:修改文件或目录的权限。使用`chmod`命令后跟权限模式和要修改权限的文件或目录名,可以更改文件或目录的读、写、执行权限。 这只是一些常见的Unix日常操作命令,还有很多其他命令用于不同的操作。可以通过查阅Unix系统的文档或使用`man`命令来获取更详细的信息和使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值