Linux命令工作实际笔记

一、查看磁盘文件大小:

du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件]
常用参数:
-a或-all  为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前目录的大小。
-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。
linux中的du命令使用示例:

  1. 1> 要显示一个目录树及其每个子树的磁盘使用情况

du /home/linux
这在/home/linux目录及其每个子目录中显示了磁盘块数。

  1. 2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况

du -k /home/linux
这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。

  1. 3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况

du -m /home/linux
这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。

  1. 4> 以GB为单位显示一个目录树及其每个子树的磁盘使用情况

du -g /home/linux
这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。

  1. 5>查看当前目录下所有目录以及子目录的大小:du -h .

“.”代表当前目录下。也可以换成一个明确的路径
-h表示用K、M、G的人性化形式显示

  1. 6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录:

du -sh user
-s表示总结的意思,即只列出一个总结的值
du -h –max-depth=0 user
–max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。

  1. 7>列出user目录及其子目录下所有目录和文件的大小:

du -ah user
-a表示包括目录和文件

  1. 8>列出当前目录中的目录名不包括xyz字符串的目录的大小:

du -h –exclude=’*xyz*’

  1. 9>想在一个屏幕下列出更多的关于user目录及子目录大小的信息:

du -0h user
-0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。

  1. 10>只显示一个目录树的全部磁盘使用情况

二、進行管理:

ps    查看进程    kill

查看提交到服务器任务  bjobs [-a]     bkill + 任务号

chmod -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

env    :  查看當前所有的環境變量設定

三、批量處理文件

sed -i ‘指令1 ’-I ‘指令2’  文件名

如: sed  -i ‘1,$s/a/b/g’ *.*     將該目錄下如有文件中的a替換為b

四、拆分文件

head  -n <n> filename > newname

如果文件过大,可以通过这种方式取前n行將文件拆分出新文件。

head –n 5 file  查看文件前5行

tail –n 5 file    查看文件后5行

五、FTP

连接不同ip地址的帐号

例,ftp 10.19.128.1

输入userid and password

put  file 直接將当前的帐号下的file传到指定帐号,如果想传文件夹,必须要打包

get file 直接get数据。

图形界面:gftp

workstation 看excel

  1. Module load OpenOffice
  2. Soffice AGC_BRG.xls &

六、計時執行

sleep n; a

n秒后執行命令a

七、批量重命名

将 AAA* 的文件名修改为 DDD*, 使用下面的命令

rename AAA DDD *

八、常用快捷鍵

Ctrl+D:可以在终端下运行wc命令,然后再胡乱输入一些字符,再按Ctrl+D就会出现相应效果,也可以退出登陆(只限命令模式下)

Ctrl+Z:可挂起任意前台进程,需要恢复被挂起进程可使用fg来恢复被挂起的进程 bg去掉入后台执行

Ctrl+S:可以锁住屏幕,但操作还在进行的

九、Linux的bg和fg命令

我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务。

假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示(方括号中的是作业号):

[1]+ Stopped /root/bin/rsync.sh

然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)

#bg 1
[1]+ /root/bin/rsync.sh &

用 jobs 命令查看正在运行的任务:

#jobs
[1]+ Running /root/bin/rsync.sh &

如果想把它调回到前台运行,可以用

#fg 1
/root/bin/rsync.sh

这样,你在控制台上就只能等待这个任务完成了。

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
查看当前有多少在后台运行的命令
四。fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

也可以用kill %jobnumber kill掉這些進程 option -9 強制kill


who (  查看系統中的使用者 )

  1. 若在自己 student1 的環境下 (  或某一視窗 )  進入student2 的帳號,可以用 “cad1% su  student2”,(  在 Solarils 版本則要下 “su –  student2” )。su 為switch user 之意。當然,系統會再問一次密碼。
  2. 可用 “cad1% whoami”  或 “cad1%who am I”  查看目前到底是誰在用這部電腦。
  3. 切換 user 後,必須依原先 switch 的順序“反向”exist回來,不可以直接關掉視窗或 logout 出系統,這會使得一些 user 還留在機器裡面。
  4. 若想 “  查看目前所有 local 工作站的使用者 ”,可用 “cad1% rusers”。“r”  是 remote 的意思。

mv (  檔案移動或重命名 )

mv file1 file2

file1 是檔案原有的名字,file2 是檔案後來的名字。

  • mv ex1.sp ex2.sp      將檔案 ex1.sp 重新命名成 ex2.sp
  • mv ex1.sp ../ex1.bak   將檔案 ex1.sp 重新命名成 ex1.bak,而且移到上一層

clear (  清除螢目 )

man (  指令之線上參考 )

man command

history

查看歷史操作,可能是比較重要的,個人感覺不太全

find

Find是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录.

一般find ./ -name xxx.xx 就OK了,自递进去搜索
主要选项:
-name 按照文件名查找文件
-perm 按照文件权限来查找文件
-prune 不在当前指定的目录中查找
-user 按照文件属主来查找文件
-group 按照文件所属的组来查找文件
-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前.
-nogroup 查找无有效所属组的文件,即该文件所属的组不存在
-nouser 查找无有效属主的文件
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件
-type 查找某一类型的文件
[ 文件类型:
b 块设备文件
d 目录
c 字符设备文件
p 管道文件
l 符号链接文件
f 普通文件
]
-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
-mount 在查找文件时不跨越文件系统mount点
-follow 如果find命令遇到符号链接文件,就跟踪到链接所指向的文件
-cpio 对匹配的文件使用cpio命令,就将这些文件备份到磁盘设备中
(其余选项,请man find,进一步查看)
对find命令选项的一些例子:
  $ find /etc -type d #在/ e t c目录下查找所有的目录
  $ find /etc -user yaoyuan #在/etc目录下查找文件属主为yaoyuan的文件
  $ find . -size +1000000c #在当前目录下查找文件长度大于1 M字节的文件
whereis命令会在指定的目录中查找符合条件的文件,文件应的属性应属于原始代码,二进制文件,或是帮助文件.
选项:
-b 只查找二进制文件
-B 只在设置的目录下查找二进制文件
-f 不显示文件名前的路径名称
-m 只查找说明文件
-M 只在设置的目录下查找说明文件
-s 只查找原始代码文件
-S 只在设置的目录下查找原始代码文件
-u 查找不包含指定类型的文件
whereis例子
$ whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
locate命令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找符合条件的文件或目录
选项:
-u 建立数据库,由根目录开始
-U 建立数据库,可以指定开始的位置
-e 将排除在寻找的范围之外
-f 将特定的档案系统排除在外
-q 安静模式,不会显示任何错误讯息
-n 至多显示n个输出
-r 使用正规运算式 做寻找的条件
-o 指定数据库存的名称
-d 指定数据库的路径
-h 显示辅助讯息
-v 显示更多的讯息
-V 显示程序的版本讯息
(locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
  locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如"*"或"?"等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。 )

alias (  定義別名 )

alias new_command 'old_command'

  1. alias dir 'ls -l'  將命令 "ls - l"  定義別名為 dir。
  2. 可用 “unalias”  來刪除定義  unalias dir
  3. unalias 為刪除所有別名之設定
  4. 一般會將要 alias 的指令放在 .cshrc 這個檔裡,以便一 login 便可享受到 alias 的好處。

mkdir (  建立新的目錄 )

mkdir directory-name

diff (  比較檔案或目錄之內容)

diff [-r] name1 name2

name1 name2  可同時為檔名,或目錄名稱。“-r” 為 recursive 之意

  • diff file1 file2  比較檔案 file1 與 file2 內,各行之不同處
  • diff -r dir1 dir2 比較目錄 dir1 與 dir2 內,各檔案之不同處。

set var (  設定變數 )

set var = value

var 為變數名稱,value 為值。

  1. 可用 “unset var”  來解除設定。

!! (  執行用過之指令 )

  • !!     執行前一個剛執行過命令
  • !12   執行第 12 個命令
  • !c    執行前面以 c 為起始字元之命令,有可能是 “cd”  也可能是 “cat”

基本命令

ls

ls [-atFlgR] [name]

  • -a     列出包含以 “.”  起始的隱藏檔的所有 (all)  檔案與目錄
  • -t     依照檔案最後修改時間 (time)  之順序,依序列出所有檔案與目錄。
  • -F    列出目前目錄下之所有檔案與目錄及其類型。
  • -l     列出目錄下所有檔案之許可權 (Privilege)、擁有者 (Owner)、檔案大  小 (Size)、修改時間 (Revise date)  及名稱。
  • -lg    同上,並顯示出檔案之擁有者群組 (Group)  名稱。
  • -R    以遞迴 (Recursive)  方式顯示出目錄下,以及其所有子目錄之檔案。
  1. Unix 之 File system 內以 “.”  為開始的“檔案”都是隱藏檔,大多也是環境檔。
  2. “?” , “*”  為 Unix 的 Wild card (  萬用字元 ),“?”  代表檔案名稱中之單一字元。“*”  代表檔案名稱中之一字串。
  3. ls test [0-5]  會列出 test0, test1, ..., test5 的集合。

cd

cd  [path_name]

  • cd  dir1      跳至 dir1 之目錄位置下。
  • cd  或 cd ~   跳回使用者 login 時的 home directory (  家目錄 )。
  • cd ~student2   跳至使用者 student2 的 home directory。
  • cd  ..        跳至目前目錄的上層 (parent directory)
  1. “.”  一點,表目前的工作目錄 (current working di-rect-ory)。
  2. “..”  二點,表目前目錄的上一層目錄 (parent of working directory)。
  3. “~student2”  使用者 student2 login 時的 home direc-tory。

cp

cp [-r] source destination

  • cp file1 file2    將檔案 file1  拷備到 file2(直接覆盖)。
  • cp file1 dir1    將檔案 file1   拷備到目錄 dir1  下,檔名仍為 file1。
  • cp -r dir1 dir2   拷備整個目錄。
  1. “-r”  這個 option 是 recursive 的意思,用來拷備 directory 用。

rm (  刪除檔案 )

rm  [-r ] filename

  1. “-r”  是 Recursive 的意思,用來 remove directory 用的。
  2. 若用 “rm –i” (interactive, inquiry)  則在真正 remove檔案前,會再問一次 yes or no。
  3. 刪除目錄的另一個指令為:“rmdir dir1”,但 dir1 下必須沒有檔案存在,否則會出現無法刪除的訊息。

chmod (  檔案或目錄權限之設定 )

chmod [-R] mode name

  • chmod o+x file1  使 other 可以執行檔案 file1。“+”是加上存取權
  • chmod ug-r file1  使 user 及 group 不可以 read 檔案 file1。“-”  是拿掉存取權之意
  • chmod a+r file1  使所有人 (a:all)  都可以 read 檔案 file1。
  • chmod u=r file1  使只有 user 可以 read 檔案 file1。“=”  是  設定存取權給usser, group, other,或 all 之意
  • 針對擁有者又分為“使用者” (u:user),“群體” (g:group),“其它”(o:other)。

cat,more

cat 為 concatenate (  連續 )  的縮寫,表以連續顯示方式,查看

檔名 filename 之內容。more 則是以分頁的方式,查看檔名  file-

name 之內容。

cat filename 或 more filename

  1. 執行 more 指令時:按 Spacebar 為顯示下一個螢幕,按 Return  為顯示下一行,按 “5b”  為往回顯示五個螢幕,按 “q”  為結束,按 “/string”  為搜尋 “string” 這個字串
  2. cat 指令也可以用來 join 兩個檔案,如下之指令會把 filename2 的內容加到 filename1 上後存到 filename3。 cad1% cat filename1 filename2 filename3(直接覆盖,若想加到后面,目标文件名前加”>>”)

grep (  找尋字串所屬檔案 )

grep string filename

string 為所要找的字串,filename 為所要找的檔案 (  可以有很多個 )。

grep正则表达式:

[Linux]工作中常用的Unix命令相关推荐

  1. 在linux系统环境中 常用的关机命令,Linux常用基础命令整理:关机命令、查看目录下文件命令等...

    整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能 Ctrl+c按键---停掉正在运行的程序 Ctrl+d按键---相当于exit ...

  2. 工作中常用的linux命令,Linux工作中常用到的一些命令(持续更新)常用的

    1.查看运行级别3开启的服务列表: chkconfig --list|grep 3:on 2.查找某类型的文件并计算总大小. find / -name *.conf -exec wc -c {} \; ...

  3. Linux 工作中 常用命令

    文章目录 1.Xftp无法使用时 2.模糊查询删除文件 3.vim 编辑文件 4.ll 查看该路径下的目录 5.cd ../切换到项目根目录 6.删除文件 7.tomcat中启动.停止服务 8.查看项 ...

  4. ubuntu 工作中常用的终端命令

    lsusb  查询usb设备id       在主目录/.android/adb_usb.ini文件中添加0x****(数字0和字母x) adb devices      显示当前运行的全部模拟器 a ...

  5. 工作中常用的kafka命令

    Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息  /data/bin/kafka/bin//kafka-topics.sh --zookeeper 172.16.2 ...

  6. 在工作中mysql常用知识_工作中常用的mysql命令

    1.啟動數據庫 #啟動mysql(skip-name-resolve參數是必須的) su - mysql -c "mysqld_safe --skip-name-resolve --open ...

  7. 工作中常用的git命令记录

    1.拉取代码 git clone -b <branch>(要获取的代码对应的分支 ) .....xxx.git 2.合并代码 git merge (等同于git merge --ff): ...

  8. linux中cooy命令_Linux:CentOS 7中常用的基础命令

    对于学习Linux系统来说,命令是必须熟练掌握的第一个部分.Linux系统中的命令有600多个,但常用的基础命令并不多.虽然不同版本的Linux系统的命令稍有不同,但命令的语法与使用方法基本相同,因此 ...

  9. Linux:CentOS 7中常用的基础命令

    对于学习Linux系统来说,命令是必须熟练掌握的第一个部分.Linux系统中的命令有600多个,但常用的基础命令并不多.虽然不同版本的Linux系统的命令稍有不同,但命令的语法与使用方法基本相同,因此 ...

最新文章

  1. 算法-判断一颗树是否是搜索二叉树
  2. FLEX是什么及与FLASH的关系的介绍
  3. Python入门学习之函数
  4. 个人出路......
  5. 第六章 逻辑回归-机器学习老师板书-斯坦福吴恩达教授
  6. 在微信浏览器字体被调大导致页面错乱的解决办法
  7. POJ1821 单调队列//ST表 优化dp
  8. Android SQL语句实现数据库的增删改查
  9. 定制 cobbler TITLE 信息
  10. Spring Bean配置默认为单实例 pring Bean生命周期
  11. wp-autoblog_AutoBlog简介
  12. java编译器eclipse_java编译器eclipse
  13. IGBT工作原理及作用
  14. java程序中,如何设置周一为一周的开始?如何设置周一为一周的第一天? 或者说,如何理解java的setFirstDayOfWeek()方法?
  15. office365打开服务器文件出错,Microsoft Office 365个人版打开显示错误
  16. Ceph Calamari安装问题汇总
  17. 哈希表的概念(散列表)
  18. 大话 MySQL 数据库 -- 强推收藏!
  19. 金蝶K3WISE13.1销售发票不能删除
  20. 最全解释:Linux操作系统下的软件安装与管理详解(源码安装、rpm/dpkg、yum/apt-get安装)

热门文章

  1. 2020版免费ps下载
  2. Power Query M语言所有Number函数,分类汇总掌握
  3. 请问下载的arcgis切片怎么打开?
  4. Maven的pom文件
  5. 数据中台建设方案-基于大数据平台(上)
  6. HTML文件的书写规范、HTML标签的介绍、HTML标签的语法
  7. 联合概率及其分布、边缘概率及其分布、条件概率及其分布和贝叶斯定理
  8. ROS-noetic python版本报错
  9. Matlab2017b的入门使用笔记
  10. 用wepy写的一个关于小程序通知栏(公告栏)上下滚动效果实现