linux命令之 ls
-l --list use a long listing format 列出文件的名称,权限,所有者,文件大小等详细信息 -r --reverse reverse order while sorting 相反顺序排序 -R --recursive list subdirectories recursively 循环列出子目录 -i -- 查看一个文件或者目录的inode
linux命令之 cd
cd :进入用户家目录 cd / :进入系统根目录 cd ../ :进入上一级目录 cd - :返回进入此目录之前所在的目录 cd !$ :将上一个命令的参数作为cd参数使用
linux命令之 mv (move/rename files)
-b --backup make a backup of each existing destination file 如果目标文件已存在,覆盖前先备份 -f --force do not prompt before overwriting 如果目标文件已存在,不会询问直接覆盖 -i --interactive(交互式,默认) prompt before overwrite 如果目标文件已存在,会询问是否覆盖
eg:
mv log1.txt log2.txt (修改名称,如果已存在log2.txt则会询问是否覆盖) mv log2.txt Desktop/ (移动文件到桌面,如果桌面已存在log2.txt则会询问是否覆盖) mv dir1 dir2 (如果目录dir2不存在则将dir1改名为dir2否则将dir1移动到dir2中) mv * ../ (将当前目录下所有内容移到用户当前所在目录的上一级目录中(pwd + ../)) mv test1/* test2 (将当前目录一个子目录里的所有文件移动到另一个子目录中)
linux命令之 cp
-r --recursively copy directories recursively 复制目录 -p --preserve preserve the specified attributes (default:mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all 同时复制文件属性 -d --dereference 当复制符号连接时,把目标文件或目录也建立为符号连接, 并指向与源文件或目录连接的原始文件或目录。 -a --archive 包含以上所有选项,相当于-rpd
eg:
cp log.log test 复制单个文件到目标目录,如果目标目录中存在同名文件会询问是否覆盖(带-a参数两个文件时间戳一致,不带参数则不一样) cp -a test1 test2 复制或者重命名整个目录 目标目录test1存在则放到目标目录下 目标目录test1不存在则修改目录名test1为test2 cp -s log.log log_link.log 为log.txt建立一个链接、快捷方式(不懂-l的应用)
linux命令之输出
标准输出 > / >> 标准错误输出 2> / 2>> 将内容覆盖或者追加到指定文件中
linux命令之 mkdir(创建目录,结合-p可以一次性创建父子多目录)
-m --mode set permission mode (as in chmod), not rwxrwxrwx umask 设定文件读写权限 -p --parents no error if existing, make parent directories as needed 一个路径串,系统将自动创建那些尚不存在的路径。 -v, --verbose print a message for each created directory 每次创建目录都显示信息
eg:
mkdir -m 777 test1 创建目录test1,同时指定目录具有读写执行权限 mkdir -p test1/test2 创建父子目录 mkdir -v test3 创建test3目录,创建完成后会提示创建信息
linux命令之 rmdir (只能删除空目录)
-p, --parents Remove DIRECTORY and its ancestors. 当子目录删除后其父目录为空时也一并删除(递归删除空目录) -v, --verbose output a diagnostic for every directory processed
linux命令之 rm (删除命令,预设只能删除文件,删除目录需要加上参数 -r)
-f, --force ignore nonexistent files, never prompt 忽略不存在的文件,从不提示(强制删除,不需要询问,非交互式删除) -i, --interactive(交互式) prompt before any removal 每次删除都询问是否删除 -r, -R, --recursive remove directories and their contents recursively 递归删除参数中列出的所有目录以及子目录
eg:
rm log.log 交互式删除 rm -i *.log 交互式删除所有.log文件 rm -f log.log 不询问直接删除 rm -r test1 递归删除test1目录下的文件(交互式) rm -rf test1 递归删除test1目录下的文件(非交互式) "-"是一个特殊标识,如果要创建或者删除以"-"开头的文件需要使用"--"或者"./"转义 创建-f文件 touch -- -f touch ./-f 删除-f文件 rm -- -f rm ./ -f
linux命令之 touch (建立空文件)
linux命令之 cat (一次性显示文件全部内容,连接显示多个文件内容)
-n, --number number all output lines 从1开始对输出的所有行编号 -b, --number-nonblank number nonblank output lines 从1开始对非空输出行编号 -E, --show-ends display $ at end of each line 每行结尾处显示$ -s, --squeeze-blank never more than one single blank line 将连续两行以上的空白行代换为一行的空白行 -T, --show-tabs display TAB characters as ^I 将跳格字符显示为^I 主要用途: 1、一次性显示整个文件: cat filename 2、创建一个文件: cat > filename 3、合并几个文件: cat file1 file2 > file
eg:
cat -n file1 > file2 把file1文档的内容加上行号后输入到file2文档中 cat -b file1 file2 >> file3 把file1和file2的内容加上行号(空白行不加)之后将内容附加到file3中
linux命令之 nl(将输出的文件内容加上行号)
-b, --body-numbering=STYLE use STYLE for numbering body lines 指定行号的指定方式,主要有两种 -b a 不论是否空行,都列出行号(和cat -n相同) -b t 若有空行,空行不列出行号(默认) -n, --number-format=FORMAT insert line numbers according to FORMAT 行号的表示格式,主要有三种 -n ln 行号在栏位的最左方显示 -n rn 行号在栏位最右方显示,不加0 -n rz 行号在栏位最右方显示,加0 -w, --number-width=NUMBER use NUMBER columns for line numbers 行号栏位的占用位数 与cat -n相比,nl有更多的显示格式,位数与自动补齐0等
eg:
nl a.txt 标准输出,空白行不加行号 nl -ba a.txt 空白行也加行号输出 nl -ba -nrz a.txt 行号前面自动补零输出(只有rz才可以补零,lz不仅无意义还会出错) nl -ba -nrz -w3 a.txt 行号前面自动补零,行号占用位数为3位
linux命令之 more(分页显示文件,但预加载整个文件)
+n, -- +num Start at line number num. 从第n行开始显示 -n, -- -num This option specifies an integer which is the screen size (in lines). 定义屏幕大小为n行 +/, -- +/pattern The +/ option specifies a string that will be searched for before each file is displayed. 在显示文档内容前搜索指定字符串, 并从该字符串前两行的位置开始显示文本内容 -c, -- clear 显示内容前先清屏 -p -- Do not scroll. Instead, clear the whole screen and then display the text. 空格下一页的时候不滚屏,直接清屏显示下一个内容 -s, -- Squeeze (挤,压榨) Squeeze multiple blank lines into one. 将连续多个空行显示为一行 -u -- Suppress underlining. (抵制,镇压,废止) 去除内容中的下划线 相比cat,more具有搜索、下一页等功能 **常用命令:** Enter 向下n行,需要定义,默认为1行 空格键 向下滚动一屏 Ctrl+F 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行号 :f 输出文件名和当前行号 V 调用vi编辑器 ! 调用Shell,并执行命令 q 退出more
eg:
more +3 a.txt 从第3行开始显示内容 more +/xxx a.txt 从文件中查找第一次出现"xxx"字符串的行,并从该处前两行开始显示输出 more -5 每屏/每页显示的5行内容 ls -l | more -5 和管道结合使用more命令,并且每页显示5行ls -l结果
linux命令之 less
linux命令之 head/tail
tail: 查看文件后n行 -f 刷新文件,实时监控
linux命令之 which/whereis/locate/find
find命令详解
-name ~ 代表了家目录 . 代表了当前目录 / 代表了系统根目录 -perm 按照文件权限模式查找文件 -prune 忽略某个目录
linux命令之上传下载
rz: 上传文件至linux当前目录 sz: [filename]:从linux下载该文件 -a, --ascii -b, --binary 用binary的方式上传下载,不解释字符为ascii -e, --escape 强制escape所有控制字符,比如Ctrl+x,DEL等 rar,gif等文件采用-b用binary的方式上传 文件比较大而上传出错的话,采用参数-e
Linux命令之 ln(为文件在另一个位置创建一个同步链接)
-b 删除,覆盖以前建立的链接 -d 允许超级用户制作目录的硬链接 -f 强制执行 -i 交互模式,文件存在则提示用户是否覆盖 -n 把符号链接视为一般目录 -s 软链接(符号链接:Symbolic Link) -v 显示详细的处理过程 一: 软链接(ln -s) 以路径的形式存在 可以跨文件系统(硬链接不可以) 可以对一个不存在的文件名进行链接 可以对目录进行链接(硬链接不可以) 二:硬链接(默认) 以文件副本的形式存在,但不占用实际空间 只有在同一个文件系统中才可以创建 不能建立指向目录的硬链接
eg:
ln 源文件 目标文件 ln -s 源文件/目录 目标文件/目录
Linux命令之 tar(-将多个文件打包,便于压缩)
-c 打包 -x 解包 -t 显示包中内容 -v 显示操作过程 -p 保留原本文件的属性(读写权限等) -f 指定文件 -z 支持gzip压缩、解压 -j 支持bzip2压缩、解压
eg:
打包、解包 tar cvf log.tar 2017.log tar xvf log.tar 打包后以gzip格式压缩、解压 tar zcvf log.tar.gz 2017.log tar zxvf log.tar.gz 打包后以bzip2格式压缩、解压 tar jcvf log.tar.bz2 2017.log tar jxvf log.tar.bz2 备份还原文件并且保存其权限 tar -zcvpf log.tar.gz 2014.log 2015.log 2016.log tar -zxvpg log.tar.gz 在文件夹中比某个日期新的文件才备份 tar -N "2017/02/08" -zcvf log.tar.gz 2017.log 排除部分文件后备份文件夹内容 tar --exclude scf/service -zcvf scf.tar.gz scf/*
Linux命令之压缩、解压
1、 gzip: -d 解压文件 -v 显示执行过程 -l 列出压缩文件详细信息 2、 zip:压缩文件为zip后缀 3、 unzip:解压zip后缀文件
Linux命令之 df (检查linux服务器的文件系统的磁盘占用情况)
-h 以易读的方式显示
Linux命令之 du(检查linux服务器的文件和目录的磁盘占用情况)
-h 以易读的方式显示 du :显示目录或者文件所占空间 du 2017.log :显示指定文件或者目录所占空间 du 2014.log 2015.log :显示多个文件所占空间
Linux命令之 diff ——比较两个文件的差异
Linux命令之 date(显示或设定系统的日期与时间)
Linux命令之 cal (查看日历等时间信息)
-1 显示一个月的日历(默认) -3 显示3个月的日历(上个月/当前月/下个月) -s 显示星期天为一周的第一天(默认) -m 显示星期一为一周的第一天 -j 显示在当年中的第几天(从1月1号算起) -y 显示当前年份的日历
Linux命令之cut (取出我们需要的数据)
-d, -- 后面跟分割字符,与-f一起使用 -f, -- 依据-d的分隔字符将一段信息切割成数段,用-f表示取出第几段的意思 -c, -- 以字符的单位取出固定字符区间
eg:
echo $PATH | cut -d ':' -f 3,5 取出以‘:’分割后的第3和第5段内容 export | cut -c 12- 取出第12个之后的所有字符 export | cut -c 12-20 取出第12-20的字符
Linux命令之 grep(取出需要数据所在的行)
-c:计算出找到关键字的次数 -i:忽略大小写 -n:输出行号 -v:反向选择,查找没有关键字的行 -f:参数是文件,取出文件中的关键字备用 grep可以用作文本搜索工具,使用正则表达式搜索
eg:
grep -f test1 test2 查找test2中包含test1关键字的行 grep -v -f test1 test2 查找test2中不包含test1关键字的行 cat test2 | grep -nf test1 查找test2中含有从test1中读取出的关键词并且显示内容行号 grep 'linux' test1 从test1中查找'linux'关键词 grep 'linux' test1 test2 -n 从多个文件test1 test2中查找关键词'linux'且显示内容行 cat test1 |grep ^u 找出test1中以u开头的行 cat test1 |grep ^[^u] 找出test1中非u开头的行 cat test1 |grep hat$ 找出test1中以hat结尾的行 cat test1 |grep -E 'linux|Red' 找出test1中包含linux或者Red的行 grep '[a-z]\{7\}' *.txt 找出当前目录下所有txt文件中字符串大于7的行
Linux命令之 wc (统计指定文件中的字节数、字数、行数,并将统计结果显示输出)
-c 统计字节数 -l 统计行数 -m 统计字符数 -w 统计字数 -L 打印最长行的长度
Linux命令之 ps(-列出系统中当前运行的进程)
ps命令列出的是执行命令那个时刻的进程快照,如果想要动态的显示进程信息,使用top命令
Linux命令之 top
类似于Windows下的任务管理器,实时显示系统中各个进程的资源占用情况
一些实用的命令
last:查询这个月份哪些用户登录了主机 man命令查看命令的解释 apropos<description> 命令查找需要的命令 history 列出所有运行过的命令,使用!+编号调用该命令 su:切换登录用户, sudo:允许普通用户执行一些或者全部的root命令
linux的简单命令学习
最新推荐文章于 2024-05-29 13:53:18 发布