草庐IT

Linux实用基础1

嘿嘿嘿嘿哈 2023-10-07 原文

学习自Linux操作与生物信息_哔哩哔哩_bilibili


生信入门 linux实用基础1 2 3

生信入门 R实用基础1 2


  • 命令帮助文档查看
    --help \info\man 按q退出

1. 目录和文件操作

cd ls tree mkdir touch seq jot rmdir rm cp mv rename ln wget curl

  • 记住要善用tab键 : 补齐目录名称、补齐操作名称

  • cd目录切换

cd -         #返回上次所在目录                         
cd   或 cd ~ #返回home目录                           
cd ..        #返回上级目录
cd .         #当前目录   
  • ls查看文件信息 (参数可结合使用,如ls -la)
ls -l  #按列列出文件内容(可简写为ll)
ls -a  #列出包含隐藏文件在内所有文件
ls -1  #强制为单栏输出
ls -r  #倒置顺序查看 
ls -R  #将目录下所有文件递归列出(全部列出
ls -S  #由大到小排序
ls -s   #列出文件大小
ls -t    #按时间排序
ls --help #获取帮助
  • tree:显示目录结构
    Ubuntu 中需要先安装tree命令 sudo apt-get install tree
tree  ./  #以树形结构显示当前目录结构    
  • 文件与目录创建、移动、重命名与删除
mkdir -p 004/005/006       #创建多层级目录
touch  a.txt               #创建文件
touch {1..10}a.txt         #创建10个文件1-10a.txt

jot /seq   10              #创建一系列数字1-10
jot -r   100  1000         #创建100-1000之间的随机数

mv  ../1.txt ./           #移动文件或目录
mv 1.txt 2.txt          #重命名文件或目录

rmdir                      #删除空目录
rmdir  -p                  #删除空目录及其上级空目录 如 rmdir -p a/b/c相当于rmdir a/b/c a/b a
rm -rf   ./tmp             #强制删除目录及内容(最常用)
rm -rf   !(*.sra)         #删除除了.sra文件外的所有文件
  • rename可批量化处理修改文件名
    Ubuntu 中需要先安装sudo apt install rename
#常用参数:
-v 表示会显示修改成功的文件名;
-n 则表示不执行任何操作,主要用来测试rename过程,并不直接运行,可以查看测试效果后,然后再运行;
-f 则表示会强制修改
#将当前文件夹中所有文件名中的()去掉
rename -v 's/\(\)//' *     
  • ln软链接、cp复制文件或目录
ln -s ../data/ ./   #在当前文件夹创建上级中data文件夹的软链接

cp  *.doc  001  将doc文件复制到001目录
cp  -r  003/ v007/    将目录003复制到007目录
#cp其他常用参数:
-a      #相当于-prd,通常在复制目录时使用,它保留链接,文件属性,并复制目录下所有的内容,
-p      #除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
-r       #复制目录下的所有子目录和文件
-d       #如果来源文件为链接,就复制链接属性
-l       #创建链接文件而不复制
-s       #复制为快捷方式
  • 文件下载 :wget/curl + 下载链接

2. 文件内容查看

paste cat echo more less head tail xdg-open eog

  • pastecat文件内容展示拼接
cat   1.txt 2.txt      #将不同文件按照先后顺序接起来
cat -n  1.txt         #显示行号
cat -A   1.txt        #显示文件所有信息,包括换行符$  回车符^M(需特别注意win系统会多出回车符

paste  1.txt 2.txt     #可将不同个文件中的内容按照文件顺序从左往右排起来
paste  -d  ':'         #指定":"为文件间的分隔符
cat 1.txt | paste  - - -   #将文件内容从左往右排为3大列
  • 换行符与回车符
    Windows中:回车符为 ‘\r’,回到行首;换行符为 ‘\n’,换到当前位置的下一行;
    Unix系统中:觉得每行结尾加两个字符没有必要,故结尾只有换行符,即‘\n’;
    Mac系统中:每行结尾只有回车符,即‘\r’。

  • echo屏幕输出

echo  -e " hello \n hello"   #输出内容(加上-e可以输出换行符\n) 
  • more可显示浏览百分比
  • less可上下左右调整,功能更强大(常用)
less -N 每行添加行号    
less -e 显示结束后自动离开  
less -f  强制打开文件
less -i    忽略搜索时的大小写   
less -S  文件内容对齐
  • headtail
head -20  #显示头20行信息           tail同理
head -10 win.txt |cat -A    #表示将文件头10行全部内容展示
  • xdg-open采取默认应用打开各种格式文件,如视频音乐网页等
  • eog命令 查看图片文件

3. Vim编辑文件

详见vim编辑器和less命令实用操作

vim  文件名    #(若当前路径没有该文件,则会自动新建一个文件)
  • 进入vim页面后按 i 或者 insert 键进入编辑模式,开始进行编辑修改操作;
  • 修改完成之后点击Esc键即可进入命令提示行模式;
  • 最下面的INSERT标志消失后输入:wq进行退出保存操作(:w表示保存,:q表示退出)

4. 文件压缩

gzip gunzip zip unzip bzip2 bunzip2 pigz unpigz

压缩文件查看可用zcat、less命令打开

gzip a.txt      #压缩
gunzip a.txt    #解压缩=gzip -d
#常用参数:
-c 或--stdout或--to-stdout  #把解压后的文件输出到标准输出设备。
-k 或--keep  #保留原始压缩文件。
-l  或--list  #列出压缩文件的相关信息。
-r  或--recursive  #递归处理,将指定目录下的所有文件及子目录一并处理。

zip  a.txt.zip  a.txt        #(默认保留原文件) 需先将新文件命名为.zip结尾
unzip解压缩

bzip2  a.txt     -----------  a.txt.bz2       #压缩效率更高,但占用CPU更高
bunzip2解压缩
  • 进阶版多线程压缩神器:pigzunpigz
-p  #多线程
-c  #表示打印到标准输出std,
-k  #表示压缩后不删除源文件
-0 to -9, -11  #设置压缩水平,值越大,压缩率越高,当然耗费的时间也就越长
-M   --time   #显示处理时间
  • .rar文件处理 ----使用RAR软件或rarlinux工具

5. 文件打包tar

tar -cvf ab.tar a b           #将文件a,b打包成ab.tar。  c表示创建,v表示可视化过程,f必须
#常用参数:
      -xvf ab.tar                  #解包ab.tar            (注意解包后原包文件还在)
      -xvf ab.tar a               #只解包ab.tar中的a文件
      -xvf ab.tar -C ss/       #-C(到指定目录) 将文件解包到ss目录下
      -tvf  ab.tar                 #查看包内容(或者直接用less命令也可更方便查看
      -rvf  ab.tar  append   #追加append文件加进ab.tar包中
      -uvf ab.tar  a              #更新追加包中已有的a文件(如果文件是压缩后的就不能追加和更新了)
  • 实际运用中常常是打包压缩一块实现
tar -zcvf ab.tar.gz  a b       #打包压缩为.tar.gz结尾文件
tar -zxvf ab.tar.gz            #解压缩.tar.gz结尾文件

tar -jcvf ab.tar.bz2  a b      #打包压缩为.tar.bz2结尾文件
tar -jxvf ab.tar.bz2           #解压缩.tar.bz2结尾文件

6. 文件查找

locate find which whereis

locate(较常用)                #查找文件,查找前最好更新本地数据库 sudo updatedb
find    ./   -name   'af*'     #在当前目录查找以af开头文件
which                          #可定位可执行文件(命令)所在目录
whereis                        #定位文件所在目录:1二进制的 2源文件 3帮助文档
                        #输出信息包括1)命令本身所在目录 2)源文件目录 3)帮助文档目录

7. .bashrc系统设置文件

处于每个用户的默认目录~下的隐藏文件,在/etc/目录下为所有用户

  1. cd
  2. ls -la
  3. vim .bashrc 其下可添加更改各项设置,在每次启动后可自动执行
  4. source .bashrc 重新加载文件后即可应用等价于. .bashrc
# Source global definitions
date  #(开机显示日期)
echo "Welcome to use Centos" #(开机显示标语)
alias  lla='ls -la'
alias  la='ls -a'
 #(个性化命令提示行设置命令
 PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
#或
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

8. chmod管理文件权限

  • 第一列10字符表示权限情况
    1. 第一个字符 l为链接文件 d为文件夹 -为普通文件
    2. 后每三个字符分别表示 文件所有者(属主)、同组用户和其他用户的权限
      rwx 可读可写可执行 r-x 可读可执行 --- 不可读写执行
  • chmod 管理文件权限(change mode 缩写

    注:5 应为可读可执行
chmod 700 a      #表示让a文件只让属主可读可写可执行
chmod -R 644 temp/    #加上-R表示递归修改目录下所有文件权限
chmod -R 644 *.fna     #使用通配符一次性修改目的文件权限

9. superuser权限

su exit sudo useradd passwd usermod groups userdel chown chgrp

普通用户切入root用户:su
退出root用户:exit
暂时性使用root权限: sudo

  • /usr/sbin 该目录下是只有superuser才能用的命令
  • 用户、组的相关设置
useradd gene          #添加用户名为gene
passwd  gene         #设置用户gene的密码    
groupadd  bioinfo    #创建组bioinfo
usermod -G bioinfo gene    #将用户gene加入组bioinfo中
groups  gene         #查看用户gene位于哪个组
userdel  gene        #删除用户gene
useradd -d /home/gene -g gene -G bioinfo -p "111111"   #一次设置用户登录目录,用户名,所属组,密码
  • root用户可用chown、chgrp命令可将文件目录划分给其他用户使用
chown gene gene/         #将gene目录属主改为用户gene
chgrp bioinfo gene/      #将gene目录组名改为bioinfo  

10. 软件安装 ① ② ③

① 源代码安装


例:
先网站下载压缩包 .tar.gz
解压包后进入软件文件,less INSTALL查看unix下安装方法
按说明依次运行 ./configuremakemake install 命令完成安装

② 安装包安装

1) Debian和Ubuntu : .deb包
sudo dpkg -i 包名字 #若-i改为-r则为卸载
2) Redhat和FC(如centos): .rpm包
sudo rpm -i 包名字

③ apt/yum安装

Centos:

(sudo)yum  install               #安装软件,yum命令都是针对rpm格式包
  yum remove                      #卸载软件
  yum update                      #升级软件
  yum list installed              #列出已安装软件包
  yum search                      #搜索资源库相关软件
  yum list *qq*                   #列出名字包含qq的软件

Ubuntu: 最新版本将apt-get 写成apt即可

(sudo) apt -y install      #安装软件  sl(开火车)oneko(小猫)
  apt remove                 #卸载
  apt update                 #更新可用软件包列表
  apt upgrade                #更新已安装的包
  apt clean                  #清理安装包 

生信入门 linux实用基础1 2 3

生信入门 R实用基础1 2

有关Linux实用基础1的更多相关文章

  1. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  2. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  3. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  4. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  5. 【网络】-- 网络基础 - 2

    (本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展        是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。    如:有三个人,每个人做的不同的事物,但是是需要协作的完成。    而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据

  6. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  7. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  8. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  9. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在LinuxMint17.2上。我最近使用apt-getpurgeruby​​删除了ruby​​。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,

  10. ruby - 在 Linux 上编译 Ruby 1.9.2 所需的先决条件? - 2

    我是Ruby和RoR的新手。我有一个带有Ubuntu镜像的干净Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经在谷歌上搜索了执行此操作的说明,但经过一些尝试后,当我尝试运行一些教程示例时,我不断收到有关缺少zlib和其他一些包的错误。任何人都可以给我详细的说明(或链接),教我如何在从源代码编译Ruby之前安装必要的必备包吗?我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。提前感谢您的帮助!!! 最佳答案 Thisblogpost涵盖从源代码编译ruby​​所需的包和安装过程;它引

随机推荐