- Solve real problems with our hands-on interface
- Progress from basic puts and calls to advanced strategies

Posted June 20, 2023 at 9:40 am
This post will go through 10 different Linux commands and their R alternatives. If you’re interested in learning more R functions for working with files like some of those below, also check out this post.
| Linux | R | What does it do? |
|---|---|---|
| ls | list.files() | Lists all the files in a directory |
| ls -R | list.files(recursive = TRUE) | Recursively lists all the files in a directory and all sub-directories |
| ls | grep “something” | list.files(pattern = “something”) | Lists all the files in a directory containing the regex “something” |
R
list.files("/path/to/directory")
list.files("/path/to/do/directory", recursive = TRUE)
# search for files containing "something" in their name
list.files("/path/to/do/directory", pattern = "something")
# search for all CSV files
list.files("/path/to/do/directory", pattern = ".csv")Linux
ls /path/to/directory ls -R /path/to/directory # search for files containing "something" in their name ls /path/to/directory | grep "something" # search for all CSV files ls /path/to/directory | grep ".csv"
| Linux | R | What does it do? |
|---|---|---|
| head | head() | Prints the top n records of a file (Linux) / data frame or other object (R) |
R
# let df be a data frame head(df) head(df, 10)
Linux
head -6 some_file.txt head -10 some_file.txt
| Linux | R | What does it do? |
|---|---|---|
| pwd | getwd() | Gets the current directory |
R
getwd()
Linux
pwd
| Linux | R | What does it do? |
|---|---|---|
| cd | setwd() | Change the current working directory |
R
setwd("/path/to/new/directory")Linux
cd /path/to/new/directory
| Linux | R | What does it do? |
|---|---|---|
| ls -1 | wc -l | length(list.files(…)) | Counts the number of files in a directory |
R
length(list.files("/path/to/some/directory"))Linux
ls -1 | wc -l
| Linux | R | What does it do? |
|---|---|---|
| ls -l | file.info() | Returns the file permissions (Linux) / additional info (R) |
R
file.info("/path/to/directory/file.txt")file.info returns additional information about a file besides file permissions, including size, created time, last modified time, and last access time. If you just want to get permissions of the file, just run this:
file.info("/path/to/directory/file.txt")$modeThe permissions are returned in octal; to translate what this octal result means into read / write etc. abilities, see this link.
Linux
ls -l /path/to/directory/file.txt
| Linux | R | What does it do? |
|---|---|---|
| mkdir | dir.create() | Creates a new directory |
R
# create folder in current directory
dir.create("new_folder")
# create folder in different directory
dir.create("/path/to/new_directory")Linux
# create folder in current directory mkdir new_folder # create folder in different directory mkdir /path/to/new_directory
| Linux | R | What does it do? |
|---|---|---|
| touch | file.create() | Creates a new file |
R
# create a file in current directory
file.create("new_file.txt")
# create file in different directory
file.create("/path/to/directory/new_file.txt")Linux
# create a file in current directory touch new_file.txt # create file in different directory touch /path/to/directory/new_file.txt
Though it’s possible to get the number of lines, words, and characters in a file using base R, it’s simpler to do so with the hyperSpec package.
Just use install.packages to install if needed:
install.packages("hyperSpec")Running the below line of code will print out a data frame with the number of characters, words, and lines in the input file. Similarly, the Linux wc command will print out the same information for a file.
| Linux | R | What does it do? |
|---|---|---|
| wc | wc() | Lists the number of characters, words, and lines in a file |
R
library(hyperSpec)
wc("/path/to/directory/file.txt")Linux
wc /path/to/directory/file.txt
| Linux | R | What does it do? |
|---|---|---|
| cp | file.copy() | Copy a file |
R
# copy file.txt to new_directory
file.copy("/path/to/directory/file.txt", "/path/to/new_directory")Linux
# option 1 cp /path/to/directory/file.txt /path/to/new_directory # option 2 cp /path/to/directory/file.txt /path/to/new_directory/file.txt
Originally posted on TheAutomatic.net.
Information posted on IBKR Campus that is provided by third-parties does NOT constitute a recommendation that you should contract for the services of that third party. Third-party participants who contribute to IBKR Campus are independent of Interactive Brokers and Interactive Brokers does not make any representations or warranties concerning the services offered, their past or future performance, or the accuracy of the information provided by the third party. Past performance is no guarantee of future results.
This material is from TheAutomatic.net and is being posted with its permission. The views expressed in this material are solely those of the author and/or TheAutomatic.net and Interactive Brokers is not endorsing or recommending any investment or trading discussed in the material. This material is not and should not be construed as an offer to buy or sell any security. It should not be construed as research or investment advice or a recommendation to buy, sell or hold any security or commodity. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.
Join The Conversation
For specific platform feedback and suggestions, please submit it directly to our team using these instructions.
If you have an account-specific question or concern, please reach out to Client Services.
We encourage you to look through our FAQs before posting. Your question may already be covered!