mirror of
https://github.com/gnustep/libs-steptalk.git
synced 2025-02-24 11:51:13 +00:00
195 lines
3.6 KiB
Text
195 lines
3.6 KiB
Text
|
Unix shell equivalents
|
||
|
----------------------
|
||
|
|
||
|
StepTalk is not meant to be used for tasks that can be done using ordinary Unix
|
||
|
shells. But this does not mean, that it cannot be used for such tasks. In this
|
||
|
file you may find list of unix commands and tasks and their Smalltalk
|
||
|
equivalents.
|
||
|
|
||
|
Contents:
|
||
|
|
||
|
File Manipulation
|
||
|
Output
|
||
|
Paths and filenames
|
||
|
Network
|
||
|
Math
|
||
|
Date and Time
|
||
|
|
||
|
File manipulation
|
||
|
-----------------
|
||
|
|
||
|
> fm := NSFileManager defaultManager
|
||
|
|
||
|
ls
|
||
|
|
||
|
> (fm directoryContentsAtPath: '.') sortedArrayUsingSelector:#compare:
|
||
|
|
||
|
pwd
|
||
|
|
||
|
> fm currentDirectoryPath
|
||
|
|
||
|
cd path
|
||
|
|
||
|
> fm changeCurrentDirectoryPath: 'path'
|
||
|
|
||
|
ln -s path other
|
||
|
|
||
|
> fm createSymbolicLinkAtPath:'path' pathContent:'other'
|
||
|
|
||
|
cp src dest
|
||
|
|
||
|
> fm copyPath:'src' toPath:'dest' handler: nil
|
||
|
|
||
|
cp file_list dest
|
||
|
|
||
|
> file_list do: [ :file | fm copyPath:file toPath:'dest' handler: nil ]
|
||
|
|
||
|
mv - as cp, movePath:toPath:handler:
|
||
|
ln - as cp, linkPath:toPath:handler:
|
||
|
rm - removeFileAtPath:handler:
|
||
|
|
||
|
mkdir dir
|
||
|
|
||
|
> fm createDirectoryAtPath:'dir' attributes:nil
|
||
|
|
||
|
df path
|
||
|
|
||
|
> fm fileSystemAttributesAtPath:'path'
|
||
|
|
||
|
Output
|
||
|
------
|
||
|
|
||
|
echo 'string'
|
||
|
|
||
|
> Transcript show:'string'
|
||
|
|
||
|
cat file
|
||
|
|
||
|
> Transcript show: (NSString stringWithContentsOfFile:'file')
|
||
|
|
||
|
"write a string to a file"
|
||
|
|
||
|
> ('string' writeToFile:'file' atomically:YES)
|
||
|
|
||
|
"create a string from a fle"
|
||
|
|
||
|
> str := NSString stringWithContentsOfFile:'file'
|
||
|
|
||
|
|
||
|
Paths and filenames
|
||
|
--------------------------------
|
||
|
For more information, refer to the NSString documentation.
|
||
|
NSString methods for path manipulation:
|
||
|
|
||
|
- fileSystemRepresentation
|
||
|
- isAbsolutePath
|
||
|
|
||
|
- pathComponents
|
||
|
- lastPathComponent
|
||
|
- pathExtension
|
||
|
|
||
|
- stringByAbbreviatingWithTildeInPath
|
||
|
- stringByAppendingPathComponent:
|
||
|
- stringByAppendingPathExtension:
|
||
|
- stringByDeletingLastPathComponent
|
||
|
- stringByDeletingPathExtension
|
||
|
- stringByExpandingTildeInPath
|
||
|
- stringByResolvingSymlinksInPath
|
||
|
- stringByStandardizingPath
|
||
|
- stringsByAppendingPaths:
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
> path := '/usr/GNUstep/System/Applications/Ink.app'
|
||
|
> path pathComponents
|
||
|
(?) GSArray
|
||
|
0 /
|
||
|
1 usr
|
||
|
2 GNUstep
|
||
|
3 System
|
||
|
4 Applications
|
||
|
5 Ink.app
|
||
|
|
||
|
> path lastPathComponent
|
||
|
(?) Ink.app
|
||
|
|
||
|
> path pathExtension
|
||
|
(?) app
|
||
|
|
||
|
In Smalltalk there is a symbolic selector '/' for NSString that is equivalent to
|
||
|
the 'stringByAppendingPathComponent:'.
|
||
|
|
||
|
> path := 'somePath'
|
||
|
> filename := 'someFilename'
|
||
|
> fullPath := path / filename
|
||
|
|
||
|
Network
|
||
|
-------
|
||
|
|
||
|
localhost
|
||
|
|
||
|
> NSHost currentHost name
|
||
|
|
||
|
nslookup host_name
|
||
|
|
||
|
> (NSHost hostWithName:'host_name') addresses
|
||
|
|
||
|
nslookup host_address
|
||
|
|
||
|
> (NSHost hostWithAddress:'host_address') names
|
||
|
|
||
|
"download a file from the web"
|
||
|
|
||
|
> data := NSData dataWithContentsOfURL:'url'
|
||
|
> data writeToFile:'file' atomically:YES
|
||
|
|
||
|
"read a file from the web"
|
||
|
|
||
|
> string := NSString stringWithContentsOfURL:'url'
|
||
|
|
||
|
|
||
|
Math
|
||
|
----
|
||
|
Just like in:
|
||
|
> 1 + 1
|
||
|
or in:
|
||
|
> a := b * c
|
||
|
|
||
|
|
||
|
Date and Time
|
||
|
-------------
|
||
|
|
||
|
date
|
||
|
> NSDate date
|
||
|
...or...
|
||
|
date
|
||
|
> NSCalendarDate date
|
||
|
|
||
|
|
||
|
For more information read the NSDate and NSCalendarDate documentation
|
||
|
|
||
|
NSCalendarDate methods:
|
||
|
|
||
|
Creating a date
|
||
|
|
||
|
+ calendarDate
|
||
|
+ dateWithString:calendarFormat:
|
||
|
+ dateWithString:calendarFormat:locale:
|
||
|
+ dateWithYear:month:day:hour:minute:second:timeZone:
|
||
|
|
||
|
Retrieving date elements
|
||
|
|
||
|
- dayOfCommonEra
|
||
|
- dayOfMonth
|
||
|
- dayOfWeek
|
||
|
- dayOfYear
|
||
|
- hourOfDay
|
||
|
- minuteOfHour
|
||
|
- monthOfYear
|
||
|
- secondOfMinute
|
||
|
- yearOfCommonEra
|
||
|
|
||
|
Adjusting a date
|
||
|
|
||
|
- dateByAddingYears:months:days:hours:minutes:seconds:
|